AppRTCMobile support to turn off the WebRTC AGC and HPF
This CL adds support for turning off the WebRTC AGC and HPF in AppRTCMobile. BUG=webrtc:6183,webrtc:6220 Review-Url: https://codereview.webrtc.org/2871393002 Cr-Commit-Position: refs/heads/master@{#18204}
This commit is contained in:
@ -152,6 +152,10 @@
|
|||||||
<string name="pref_enable_level_control_title">Enable level control.</string>
|
<string name="pref_enable_level_control_title">Enable level control.</string>
|
||||||
<string name="pref_enable_level_control_default">false</string>
|
<string name="pref_enable_level_control_default">false</string>
|
||||||
|
|
||||||
|
<string name="pref_disable_webrtc_agc_and_hpf_key">disable_webrtc_agc_and_hpf_preference</string>
|
||||||
|
<string name="pref_disable_webrtc_agc_and_hpf_title">Disable WebRTC AGC and HPF.</string>
|
||||||
|
<string name="pref_disable_webrtc_agc_default">false</string>
|
||||||
|
|
||||||
<string name="pref_speakerphone_key">speakerphone_preference</string>
|
<string name="pref_speakerphone_key">speakerphone_preference</string>
|
||||||
<string name="pref_speakerphone_title">Speakerphone.</string>
|
<string name="pref_speakerphone_title">Speakerphone.</string>
|
||||||
<string name="pref_speakerphone_dlg">Speakerphone.</string>
|
<string name="pref_speakerphone_dlg">Speakerphone.</string>
|
||||||
|
|||||||
@ -152,6 +152,11 @@
|
|||||||
android:title="@string/pref_enable_level_control_title"
|
android:title="@string/pref_enable_level_control_title"
|
||||||
android:defaultValue="@string/pref_enable_level_control_default" />
|
android:defaultValue="@string/pref_enable_level_control_default" />
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="@string/pref_disable_webrtc_agc_and_hpf_key"
|
||||||
|
android:title="@string/pref_disable_webrtc_agc_and_hpf_title"
|
||||||
|
android:defaultValue="@string/pref_disable_webrtc_agc_default" />
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="@string/pref_speakerphone_key"
|
android:key="@string/pref_speakerphone_key"
|
||||||
android:title="@string/pref_speakerphone_title"
|
android:title="@string/pref_speakerphone_title"
|
||||||
|
|||||||
@ -106,6 +106,8 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven
|
|||||||
public static final String EXTRA_DISABLE_BUILT_IN_AGC = "org.appspot.apprtc.DISABLE_BUILT_IN_AGC";
|
public static final String EXTRA_DISABLE_BUILT_IN_AGC = "org.appspot.apprtc.DISABLE_BUILT_IN_AGC";
|
||||||
public static final String EXTRA_DISABLE_BUILT_IN_NS = "org.appspot.apprtc.DISABLE_BUILT_IN_NS";
|
public static final String EXTRA_DISABLE_BUILT_IN_NS = "org.appspot.apprtc.DISABLE_BUILT_IN_NS";
|
||||||
public static final String EXTRA_ENABLE_LEVEL_CONTROL = "org.appspot.apprtc.ENABLE_LEVEL_CONTROL";
|
public static final String EXTRA_ENABLE_LEVEL_CONTROL = "org.appspot.apprtc.ENABLE_LEVEL_CONTROL";
|
||||||
|
public static final String EXTRA_DISABLE_WEBRTC_AGC_AND_HPF =
|
||||||
|
"org.appspot.apprtc.DISABLE_WEBRTC_GAIN_CONTROL";
|
||||||
public static final String EXTRA_DISPLAY_HUD = "org.appspot.apprtc.DISPLAY_HUD";
|
public static final String EXTRA_DISPLAY_HUD = "org.appspot.apprtc.DISPLAY_HUD";
|
||||||
public static final String EXTRA_TRACING = "org.appspot.apprtc.TRACING";
|
public static final String EXTRA_TRACING = "org.appspot.apprtc.TRACING";
|
||||||
public static final String EXTRA_CMDLINE = "org.appspot.apprtc.CMDLINE";
|
public static final String EXTRA_CMDLINE = "org.appspot.apprtc.CMDLINE";
|
||||||
@ -323,7 +325,8 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven
|
|||||||
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_AEC, false),
|
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_AEC, false),
|
||||||
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_AGC, false),
|
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_AGC, false),
|
||||||
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_NS, false),
|
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_NS, false),
|
||||||
intent.getBooleanExtra(EXTRA_ENABLE_LEVEL_CONTROL, false), dataChannelParameters);
|
intent.getBooleanExtra(EXTRA_ENABLE_LEVEL_CONTROL, false),
|
||||||
|
intent.getBooleanExtra(EXTRA_DISABLE_WEBRTC_AGC_AND_HPF, false), dataChannelParameters);
|
||||||
commandLineRun = intent.getBooleanExtra(EXTRA_CMDLINE, false);
|
commandLineRun = intent.getBooleanExtra(EXTRA_CMDLINE, false);
|
||||||
runTimeMs = intent.getIntExtra(EXTRA_RUNTIME, 0);
|
runTimeMs = intent.getIntExtra(EXTRA_RUNTIME, 0);
|
||||||
|
|
||||||
|
|||||||
@ -74,6 +74,7 @@ public class ConnectActivity extends Activity {
|
|||||||
private String keyprefDisableBuiltInAgc;
|
private String keyprefDisableBuiltInAgc;
|
||||||
private String keyprefDisableBuiltInNs;
|
private String keyprefDisableBuiltInNs;
|
||||||
private String keyprefEnableLevelControl;
|
private String keyprefEnableLevelControl;
|
||||||
|
private String keyprefDisableWebRtcAGCAndHPF;
|
||||||
private String keyprefDisplayHud;
|
private String keyprefDisplayHud;
|
||||||
private String keyprefTracing;
|
private String keyprefTracing;
|
||||||
private String keyprefRoomServerUrl;
|
private String keyprefRoomServerUrl;
|
||||||
@ -118,6 +119,7 @@ public class ConnectActivity extends Activity {
|
|||||||
keyprefDisableBuiltInAgc = getString(R.string.pref_disable_built_in_agc_key);
|
keyprefDisableBuiltInAgc = getString(R.string.pref_disable_built_in_agc_key);
|
||||||
keyprefDisableBuiltInNs = getString(R.string.pref_disable_built_in_ns_key);
|
keyprefDisableBuiltInNs = getString(R.string.pref_disable_built_in_ns_key);
|
||||||
keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key);
|
keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key);
|
||||||
|
keyprefDisableWebRtcAGCAndHPF = getString(R.string.pref_disable_webrtc_agc_and_hpf_key);
|
||||||
keyprefDisplayHud = getString(R.string.pref_displayhud_key);
|
keyprefDisplayHud = getString(R.string.pref_displayhud_key);
|
||||||
keyprefTracing = getString(R.string.pref_tracing_key);
|
keyprefTracing = getString(R.string.pref_tracing_key);
|
||||||
keyprefRoomServerUrl = getString(R.string.pref_room_server_url_key);
|
keyprefRoomServerUrl = getString(R.string.pref_room_server_url_key);
|
||||||
@ -393,6 +395,11 @@ public class ConnectActivity extends Activity {
|
|||||||
CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, R.string.pref_enable_level_control_key,
|
CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, R.string.pref_enable_level_control_key,
|
||||||
useValuesFromIntent);
|
useValuesFromIntent);
|
||||||
|
|
||||||
|
// Check Disable gain control
|
||||||
|
boolean disableWebRtcAGCAndHPF = sharedPrefGetBoolean(
|
||||||
|
R.string.pref_disable_webrtc_agc_and_hpf_key, CallActivity.EXTRA_DISABLE_WEBRTC_AGC_AND_HPF,
|
||||||
|
R.string.pref_disable_webrtc_agc_and_hpf_key, useValuesFromIntent);
|
||||||
|
|
||||||
// Get video resolution from settings.
|
// Get video resolution from settings.
|
||||||
int videoWidth = 0;
|
int videoWidth = 0;
|
||||||
int videoHeight = 0;
|
int videoHeight = 0;
|
||||||
@ -521,6 +528,7 @@ public class ConnectActivity extends Activity {
|
|||||||
intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC);
|
intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AGC, disableBuiltInAGC);
|
||||||
intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS);
|
intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_NS, disableBuiltInNS);
|
||||||
intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelControl);
|
intent.putExtra(CallActivity.EXTRA_ENABLE_LEVEL_CONTROL, enableLevelControl);
|
||||||
|
intent.putExtra(CallActivity.EXTRA_DISABLE_WEBRTC_AGC_AND_HPF, disableWebRtcAGCAndHPF);
|
||||||
intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate);
|
intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate);
|
||||||
intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec);
|
intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec);
|
||||||
intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud);
|
intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud);
|
||||||
|
|||||||
@ -87,6 +87,8 @@ public class PeerConnectionClient {
|
|||||||
private static final String VIDEO_VP8_INTEL_HW_ENCODER_FIELDTRIAL = "WebRTC-IntelVP8/Enabled/";
|
private static final String VIDEO_VP8_INTEL_HW_ENCODER_FIELDTRIAL = "WebRTC-IntelVP8/Enabled/";
|
||||||
private static final String VIDEO_H264_HIGH_PROFILE_FIELDTRIAL =
|
private static final String VIDEO_H264_HIGH_PROFILE_FIELDTRIAL =
|
||||||
"WebRTC-H264HighProfile/Enabled/";
|
"WebRTC-H264HighProfile/Enabled/";
|
||||||
|
private static final String DISABLE_WEBRTC_AGC_FIELDTRIAL =
|
||||||
|
"WebRTC-Audio-MinimizeResamplingOnMobile/Enabled/";
|
||||||
private static final String AUDIO_CODEC_PARAM_BITRATE = "maxaveragebitrate";
|
private static final String AUDIO_CODEC_PARAM_BITRATE = "maxaveragebitrate";
|
||||||
private static final String AUDIO_ECHO_CANCELLATION_CONSTRAINT = "googEchoCancellation";
|
private static final String AUDIO_ECHO_CANCELLATION_CONSTRAINT = "googEchoCancellation";
|
||||||
private static final String AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT = "googAutoGainControl";
|
private static final String AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT = "googAutoGainControl";
|
||||||
@ -190,6 +192,7 @@ public class PeerConnectionClient {
|
|||||||
public final boolean disableBuiltInAGC;
|
public final boolean disableBuiltInAGC;
|
||||||
public final boolean disableBuiltInNS;
|
public final boolean disableBuiltInNS;
|
||||||
public final boolean enableLevelControl;
|
public final boolean enableLevelControl;
|
||||||
|
public final boolean disableWebRtcAGCAndHPF;
|
||||||
private final DataChannelParameters dataChannelParameters;
|
private final DataChannelParameters dataChannelParameters;
|
||||||
|
|
||||||
public PeerConnectionParameters(boolean videoCallEnabled, boolean loopback, boolean tracing,
|
public PeerConnectionParameters(boolean videoCallEnabled, boolean loopback, boolean tracing,
|
||||||
@ -197,11 +200,11 @@ public class PeerConnectionClient {
|
|||||||
boolean videoCodecHwAcceleration, boolean videoFlexfecEnabled, int audioStartBitrate,
|
boolean videoCodecHwAcceleration, boolean videoFlexfecEnabled, int audioStartBitrate,
|
||||||
String audioCodec, boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES,
|
String audioCodec, boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES,
|
||||||
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS,
|
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS,
|
||||||
boolean enableLevelControl) {
|
boolean enableLevelControl, boolean disableWebRtcAGCAndHPF) {
|
||||||
this(videoCallEnabled, loopback, tracing, videoWidth, videoHeight, videoFps, videoMaxBitrate,
|
this(videoCallEnabled, loopback, tracing, videoWidth, videoHeight, videoFps, videoMaxBitrate,
|
||||||
videoCodec, videoCodecHwAcceleration, videoFlexfecEnabled, audioStartBitrate, audioCodec,
|
videoCodec, videoCodecHwAcceleration, videoFlexfecEnabled, audioStartBitrate, audioCodec,
|
||||||
noAudioProcessing, aecDump, useOpenSLES, disableBuiltInAEC, disableBuiltInAGC,
|
noAudioProcessing, aecDump, useOpenSLES, disableBuiltInAEC, disableBuiltInAGC,
|
||||||
disableBuiltInNS, enableLevelControl, null);
|
disableBuiltInNS, enableLevelControl, disableWebRtcAGCAndHPF, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PeerConnectionParameters(boolean videoCallEnabled, boolean loopback, boolean tracing,
|
public PeerConnectionParameters(boolean videoCallEnabled, boolean loopback, boolean tracing,
|
||||||
@ -209,7 +212,8 @@ public class PeerConnectionClient {
|
|||||||
boolean videoCodecHwAcceleration, boolean videoFlexfecEnabled, int audioStartBitrate,
|
boolean videoCodecHwAcceleration, boolean videoFlexfecEnabled, int audioStartBitrate,
|
||||||
String audioCodec, boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES,
|
String audioCodec, boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES,
|
||||||
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS,
|
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS,
|
||||||
boolean enableLevelControl, DataChannelParameters dataChannelParameters) {
|
boolean enableLevelControl, boolean disableWebRtcAGCAndHPF,
|
||||||
|
DataChannelParameters dataChannelParameters) {
|
||||||
this.videoCallEnabled = videoCallEnabled;
|
this.videoCallEnabled = videoCallEnabled;
|
||||||
this.loopback = loopback;
|
this.loopback = loopback;
|
||||||
this.tracing = tracing;
|
this.tracing = tracing;
|
||||||
@ -229,6 +233,7 @@ public class PeerConnectionClient {
|
|||||||
this.disableBuiltInAGC = disableBuiltInAGC;
|
this.disableBuiltInAGC = disableBuiltInAGC;
|
||||||
this.disableBuiltInNS = disableBuiltInNS;
|
this.disableBuiltInNS = disableBuiltInNS;
|
||||||
this.enableLevelControl = enableLevelControl;
|
this.enableLevelControl = enableLevelControl;
|
||||||
|
this.disableWebRtcAGCAndHPF = disableWebRtcAGCAndHPF;
|
||||||
this.dataChannelParameters = dataChannelParameters;
|
this.dataChannelParameters = dataChannelParameters;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -389,6 +394,10 @@ public class PeerConnectionClient {
|
|||||||
Log.d(TAG, "Enable FlexFEC field trial.");
|
Log.d(TAG, "Enable FlexFEC field trial.");
|
||||||
}
|
}
|
||||||
fieldTrials += VIDEO_VP8_INTEL_HW_ENCODER_FIELDTRIAL;
|
fieldTrials += VIDEO_VP8_INTEL_HW_ENCODER_FIELDTRIAL;
|
||||||
|
if (peerConnectionParameters.disableWebRtcAGCAndHPF) {
|
||||||
|
fieldTrials += DISABLE_WEBRTC_AGC_FIELDTRIAL;
|
||||||
|
Log.d(TAG, "Disable WebRTC AGC field trial.");
|
||||||
|
}
|
||||||
|
|
||||||
// Check preferred video codec.
|
// Check preferred video codec.
|
||||||
preferredVideoCodec = VIDEO_CODEC_VP8;
|
preferredVideoCodec = VIDEO_CODEC_VP8;
|
||||||
|
|||||||
@ -47,6 +47,7 @@ public class SettingsActivity extends Activity implements OnSharedPreferenceChan
|
|||||||
private String keyprefDisableBuiltInAGC;
|
private String keyprefDisableBuiltInAGC;
|
||||||
private String keyprefDisableBuiltInNS;
|
private String keyprefDisableBuiltInNS;
|
||||||
private String keyprefEnableLevelControl;
|
private String keyprefEnableLevelControl;
|
||||||
|
private String keyprefDisableWebRtcAGCAndHPF;
|
||||||
private String keyprefSpeakerphone;
|
private String keyprefSpeakerphone;
|
||||||
|
|
||||||
private String keyPrefRoomServerUrl;
|
private String keyPrefRoomServerUrl;
|
||||||
@ -87,6 +88,7 @@ public class SettingsActivity extends Activity implements OnSharedPreferenceChan
|
|||||||
keyprefDisableBuiltInAGC = getString(R.string.pref_disable_built_in_agc_key);
|
keyprefDisableBuiltInAGC = getString(R.string.pref_disable_built_in_agc_key);
|
||||||
keyprefDisableBuiltInNS = getString(R.string.pref_disable_built_in_ns_key);
|
keyprefDisableBuiltInNS = getString(R.string.pref_disable_built_in_ns_key);
|
||||||
keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key);
|
keyprefEnableLevelControl = getString(R.string.pref_enable_level_control_key);
|
||||||
|
keyprefDisableWebRtcAGCAndHPF = getString(R.string.pref_disable_webrtc_agc_and_hpf_key);
|
||||||
keyprefSpeakerphone = getString(R.string.pref_speakerphone_key);
|
keyprefSpeakerphone = getString(R.string.pref_speakerphone_key);
|
||||||
|
|
||||||
keyprefEnableDataChannel = getString(R.string.pref_enable_datachannel_key);
|
keyprefEnableDataChannel = getString(R.string.pref_enable_datachannel_key);
|
||||||
@ -141,6 +143,7 @@ public class SettingsActivity extends Activity implements OnSharedPreferenceChan
|
|||||||
updateSummaryB(sharedPreferences, keyprefDisableBuiltInAGC);
|
updateSummaryB(sharedPreferences, keyprefDisableBuiltInAGC);
|
||||||
updateSummaryB(sharedPreferences, keyprefDisableBuiltInNS);
|
updateSummaryB(sharedPreferences, keyprefDisableBuiltInNS);
|
||||||
updateSummaryB(sharedPreferences, keyprefEnableLevelControl);
|
updateSummaryB(sharedPreferences, keyprefEnableLevelControl);
|
||||||
|
updateSummaryB(sharedPreferences, keyprefDisableWebRtcAGCAndHPF);
|
||||||
updateSummaryList(sharedPreferences, keyprefSpeakerphone);
|
updateSummaryList(sharedPreferences, keyprefSpeakerphone);
|
||||||
|
|
||||||
updateSummaryB(sharedPreferences, keyprefEnableDataChannel);
|
updateSummaryB(sharedPreferences, keyprefEnableDataChannel);
|
||||||
@ -234,6 +237,7 @@ public class SettingsActivity extends Activity implements OnSharedPreferenceChan
|
|||||||
|| key.equals(keyprefDisableBuiltInAGC)
|
|| key.equals(keyprefDisableBuiltInAGC)
|
||||||
|| key.equals(keyprefDisableBuiltInNS)
|
|| key.equals(keyprefDisableBuiltInNS)
|
||||||
|| key.equals(keyprefEnableLevelControl)
|
|| key.equals(keyprefEnableLevelControl)
|
||||||
|
|| key.equals(keyprefDisableWebRtcAGCAndHPF)
|
||||||
|| key.equals(keyPrefDisplayHud)
|
|| key.equals(keyPrefDisplayHud)
|
||||||
|| key.equals(keyprefEnableDataChannel)
|
|| key.equals(keyprefEnableDataChannel)
|
||||||
|| key.equals(keyprefOrdered)
|
|| key.equals(keyprefOrdered)
|
||||||
|
|||||||
@ -263,25 +263,25 @@ public class PeerConnectionClientTest implements PeerConnectionEvents {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private PeerConnectionParameters createParametersForAudioCall() {
|
private PeerConnectionParameters createParametersForAudioCall() {
|
||||||
PeerConnectionParameters peerConnectionParameters =
|
PeerConnectionParameters peerConnectionParameters = new PeerConnectionParameters(
|
||||||
new PeerConnectionParameters(false, /* videoCallEnabled */
|
false, /* videoCallEnabled */
|
||||||
true, /* loopback */
|
true, /* loopback */
|
||||||
false, /* tracing */
|
false, /* tracing */
|
||||||
// Video codec parameters.
|
// Video codec parameters.
|
||||||
0, /* videoWidth */
|
0, /* videoWidth */
|
||||||
0, /* videoHeight */
|
0, /* videoHeight */
|
||||||
0, /* videoFps */
|
0, /* videoFps */
|
||||||
0, /* videoStartBitrate */
|
0, /* videoStartBitrate */
|
||||||
"", /* videoCodec */
|
"", /* videoCodec */
|
||||||
true, /* videoCodecHwAcceleration */
|
true, /* videoCodecHwAcceleration */
|
||||||
false, /* videoFlexfecEnabled */
|
false, /* videoFlexfecEnabled */
|
||||||
// Audio codec parameters.
|
// Audio codec parameters.
|
||||||
0, /* audioStartBitrate */
|
0, /* audioStartBitrate */
|
||||||
"OPUS", /* audioCodec */
|
"OPUS", /* audioCodec */
|
||||||
false, /* noAudioProcessing */
|
false, /* noAudioProcessing */
|
||||||
false, /* aecDump */
|
false, /* aecDump */
|
||||||
false /* useOpenSLES */, false /* disableBuiltInAEC */, false /* disableBuiltInAGC */,
|
false /* useOpenSLES */, false /* disableBuiltInAEC */, false /* disableBuiltInAGC */,
|
||||||
false /* disableBuiltInNS */, false /* enableLevelControl */);
|
false /* disableBuiltInNS */, false /* enableLevelControl */, false /* disableWebRtcAGC */);
|
||||||
|
|
||||||
return peerConnectionParameters;
|
return peerConnectionParameters;
|
||||||
}
|
}
|
||||||
@ -301,25 +301,25 @@ public class PeerConnectionClientTest implements PeerConnectionEvents {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private PeerConnectionParameters createParametersForVideoCall(String videoCodec) {
|
private PeerConnectionParameters createParametersForVideoCall(String videoCodec) {
|
||||||
PeerConnectionParameters peerConnectionParameters =
|
PeerConnectionParameters peerConnectionParameters = new PeerConnectionParameters(
|
||||||
new PeerConnectionParameters(true, /* videoCallEnabled */
|
true, /* videoCallEnabled */
|
||||||
true, /* loopback */
|
true, /* loopback */
|
||||||
false, /* tracing */
|
false, /* tracing */
|
||||||
// Video codec parameters.
|
// Video codec parameters.
|
||||||
0, /* videoWidth */
|
0, /* videoWidth */
|
||||||
0, /* videoHeight */
|
0, /* videoHeight */
|
||||||
0, /* videoFps */
|
0, /* videoFps */
|
||||||
0, /* videoStartBitrate */
|
0, /* videoStartBitrate */
|
||||||
videoCodec, /* videoCodec */
|
videoCodec, /* videoCodec */
|
||||||
true, /* videoCodecHwAcceleration */
|
true, /* videoCodecHwAcceleration */
|
||||||
false, /* videoFlexfecEnabled */
|
false, /* videoFlexfecEnabled */
|
||||||
// Audio codec parameters.
|
// Audio codec parameters.
|
||||||
0, /* audioStartBitrate */
|
0, /* audioStartBitrate */
|
||||||
"OPUS", /* audioCodec */
|
"OPUS", /* audioCodec */
|
||||||
false, /* noAudioProcessing */
|
false, /* noAudioProcessing */
|
||||||
false, /* aecDump */
|
false, /* aecDump */
|
||||||
false /* useOpenSLES */, false /* disableBuiltInAEC */, false /* disableBuiltInAGC */,
|
false /* useOpenSLES */, false /* disableBuiltInAEC */, false /* disableBuiltInAGC */,
|
||||||
false /* disableBuiltInNS */, false /* enableLevelControl */);
|
false /* disableBuiltInNS */, false /* enableLevelControl */, false /* disableWebRtcAGC */);
|
||||||
|
|
||||||
return peerConnectionParameters;
|
return peerConnectionParameters;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user