Add an option to enable level control to Android AppRTC Demo.
BUG=webrtc:6152 R=magjed@webrtc.org Review URL: https://codereview.webrtc.org/2193753002 . Cr-Commit-Position: refs/heads/master@{#13572}
This commit is contained in:
@ -138,6 +138,10 @@
|
|||||||
<string name="pref_disable_built_in_ns_default">false</string>
|
<string name="pref_disable_built_in_ns_default">false</string>
|
||||||
<string name="pref_built_in_ns_not_available">Hardware NS is not available</string>
|
<string name="pref_built_in_ns_not_available">Hardware NS is not available</string>
|
||||||
|
|
||||||
|
<string name="pref_enable_level_control_key">enable_level_control_preference</string>
|
||||||
|
<string name="pref_enable_level_control_title">Enable level control.</string>
|
||||||
|
<string name="pref_enable_level_control_default">false</string>
|
||||||
|
|
||||||
<string name="pref_miscsettings_key">misc_settings_key</string>
|
<string name="pref_miscsettings_key">misc_settings_key</string>
|
||||||
<string name="pref_miscsettings_title">Miscellaneous settings.</string>
|
<string name="pref_miscsettings_title">Miscellaneous settings.</string>
|
||||||
|
|
||||||
|
|||||||
@ -135,6 +135,11 @@
|
|||||||
android:title="@string/pref_disable_built_in_ns_title"
|
android:title="@string/pref_disable_built_in_ns_title"
|
||||||
android:dialogTitle="@string/pref_disable_built_in_ns_dlg"
|
android:dialogTitle="@string/pref_disable_built_in_ns_dlg"
|
||||||
android:defaultValue="@string/pref_disable_built_in_ns_default" />
|
android:defaultValue="@string/pref_disable_built_in_ns_default" />
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="@string/pref_enable_level_control_key"
|
||||||
|
android:title="@string/pref_enable_level_control_title"
|
||||||
|
android:defaultValue="@string/pref_enable_level_control_default" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
|
|||||||
@ -88,6 +88,8 @@ public class CallActivity extends Activity
|
|||||||
"org.appspot.apprtc.DISABLE_BUILT_IN_AGC";
|
"org.appspot.apprtc.DISABLE_BUILT_IN_AGC";
|
||||||
public static final String EXTRA_DISABLE_BUILT_IN_NS =
|
public static final String EXTRA_DISABLE_BUILT_IN_NS =
|
||||||
"org.appspot.apprtc.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_DISPLAY_HUD =
|
public static final String EXTRA_DISPLAY_HUD =
|
||||||
"org.appspot.apprtc.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";
|
||||||
@ -253,7 +255,8 @@ public class CallActivity extends Activity
|
|||||||
intent.getBooleanExtra(EXTRA_OPENSLES_ENABLED, false),
|
intent.getBooleanExtra(EXTRA_OPENSLES_ENABLED, false),
|
||||||
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));
|
||||||
commandLineRun = intent.getBooleanExtra(EXTRA_CMDLINE, false);
|
commandLineRun = intent.getBooleanExtra(EXTRA_CMDLINE, false);
|
||||||
runTimeMs = intent.getIntExtra(EXTRA_RUNTIME, 0);
|
runTimeMs = intent.getIntExtra(EXTRA_RUNTIME, 0);
|
||||||
|
|
||||||
|
|||||||
@ -73,6 +73,7 @@ public class ConnectActivity extends Activity {
|
|||||||
private String keyprefDisableBuiltInAec;
|
private String keyprefDisableBuiltInAec;
|
||||||
private String keyprefDisableBuiltInAgc;
|
private String keyprefDisableBuiltInAgc;
|
||||||
private String keyprefDisableBuiltInNs;
|
private String keyprefDisableBuiltInNs;
|
||||||
|
private String keyprefEnableLevelControl;
|
||||||
private String keyprefDisplayHud;
|
private String keyprefDisplayHud;
|
||||||
private String keyprefTracing;
|
private String keyprefTracing;
|
||||||
private String keyprefRoomServerUrl;
|
private String keyprefRoomServerUrl;
|
||||||
@ -107,6 +108,7 @@ public class ConnectActivity extends Activity {
|
|||||||
keyprefDisableBuiltInAec = getString(R.string.pref_disable_built_in_aec_key);
|
keyprefDisableBuiltInAec = getString(R.string.pref_disable_built_in_aec_key);
|
||||||
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);
|
||||||
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);
|
||||||
@ -313,6 +315,11 @@ public class ConnectActivity extends Activity {
|
|||||||
keyprefDisableBuiltInNs,
|
keyprefDisableBuiltInNs,
|
||||||
Boolean.valueOf(getString(R.string.pref_disable_built_in_ns_default)));
|
Boolean.valueOf(getString(R.string.pref_disable_built_in_ns_default)));
|
||||||
|
|
||||||
|
// Check Enable level control.
|
||||||
|
boolean enableLevelControl = sharedPref.getBoolean(
|
||||||
|
keyprefEnableLevelControl,
|
||||||
|
Boolean.valueOf(getString(R.string.pref_enable_level_control_key)));
|
||||||
|
|
||||||
// Get video resolution from settings.
|
// Get video resolution from settings.
|
||||||
int videoWidth = 0;
|
int videoWidth = 0;
|
||||||
int videoHeight = 0;
|
int videoHeight = 0;
|
||||||
@ -401,6 +408,7 @@ public class ConnectActivity extends Activity {
|
|||||||
intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AEC, disableBuiltInAEC);
|
intent.putExtra(CallActivity.EXTRA_DISABLE_BUILT_IN_AEC, disableBuiltInAEC);
|
||||||
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_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);
|
||||||
|
|||||||
@ -80,6 +80,7 @@ public class PeerConnectionClient {
|
|||||||
private static final String AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT= "googAutoGainControl";
|
private static final String AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT= "googAutoGainControl";
|
||||||
private static final String AUDIO_HIGH_PASS_FILTER_CONSTRAINT = "googHighpassFilter";
|
private static final String AUDIO_HIGH_PASS_FILTER_CONSTRAINT = "googHighpassFilter";
|
||||||
private static final String AUDIO_NOISE_SUPPRESSION_CONSTRAINT = "googNoiseSuppression";
|
private static final String AUDIO_NOISE_SUPPRESSION_CONSTRAINT = "googNoiseSuppression";
|
||||||
|
private static final String AUDIO_LEVEL_CONTROL_CONSTRAINT = "levelControl";
|
||||||
private static final String MAX_VIDEO_WIDTH_CONSTRAINT = "maxWidth";
|
private static final String MAX_VIDEO_WIDTH_CONSTRAINT = "maxWidth";
|
||||||
private static final String MIN_VIDEO_WIDTH_CONSTRAINT = "minWidth";
|
private static final String MIN_VIDEO_WIDTH_CONSTRAINT = "minWidth";
|
||||||
private static final String MAX_VIDEO_HEIGHT_CONSTRAINT = "maxHeight";
|
private static final String MAX_VIDEO_HEIGHT_CONSTRAINT = "maxHeight";
|
||||||
@ -162,6 +163,7 @@ public class PeerConnectionClient {
|
|||||||
public final boolean disableBuiltInAEC;
|
public final boolean disableBuiltInAEC;
|
||||||
public final boolean disableBuiltInAGC;
|
public final boolean disableBuiltInAGC;
|
||||||
public final boolean disableBuiltInNS;
|
public final boolean disableBuiltInNS;
|
||||||
|
public final boolean enableLevelControl;
|
||||||
|
|
||||||
public PeerConnectionParameters(
|
public PeerConnectionParameters(
|
||||||
boolean videoCallEnabled, boolean loopback, boolean tracing, boolean useCamera2,
|
boolean videoCallEnabled, boolean loopback, boolean tracing, boolean useCamera2,
|
||||||
@ -169,7 +171,8 @@ public class PeerConnectionClient {
|
|||||||
int videoStartBitrate, String videoCodec, boolean videoCodecHwAcceleration,
|
int videoStartBitrate, String videoCodec, boolean videoCodecHwAcceleration,
|
||||||
boolean captureToTexture, int audioStartBitrate, String audioCodec,
|
boolean captureToTexture, int audioStartBitrate, String audioCodec,
|
||||||
boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES,
|
boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES,
|
||||||
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS) {
|
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS,
|
||||||
|
boolean enableLevelControl) {
|
||||||
this.videoCallEnabled = videoCallEnabled;
|
this.videoCallEnabled = videoCallEnabled;
|
||||||
this.useCamera2 = useCamera2;
|
this.useCamera2 = useCamera2;
|
||||||
this.loopback = loopback;
|
this.loopback = loopback;
|
||||||
@ -189,6 +192,7 @@ public class PeerConnectionClient {
|
|||||||
this.disableBuiltInAEC = disableBuiltInAEC;
|
this.disableBuiltInAEC = disableBuiltInAEC;
|
||||||
this.disableBuiltInAGC = disableBuiltInAGC;
|
this.disableBuiltInAGC = disableBuiltInAGC;
|
||||||
this.disableBuiltInNS = disableBuiltInNS;
|
this.disableBuiltInNS = disableBuiltInNS;
|
||||||
|
this.enableLevelControl = enableLevelControl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -455,6 +459,11 @@ public class PeerConnectionClient {
|
|||||||
audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair(
|
audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair(
|
||||||
AUDIO_NOISE_SUPPRESSION_CONSTRAINT , "false"));
|
AUDIO_NOISE_SUPPRESSION_CONSTRAINT , "false"));
|
||||||
}
|
}
|
||||||
|
if (peerConnectionParameters.enableLevelControl) {
|
||||||
|
Log.d(TAG, "Enabling level control.");
|
||||||
|
audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair(
|
||||||
|
AUDIO_LEVEL_CONTROL_CONSTRAINT, "true"));
|
||||||
|
}
|
||||||
// Create SDP constraints.
|
// Create SDP constraints.
|
||||||
sdpMediaConstraints = new MediaConstraints();
|
sdpMediaConstraints = new MediaConstraints();
|
||||||
sdpMediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair(
|
sdpMediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair(
|
||||||
|
|||||||
@ -46,6 +46,7 @@ public class SettingsActivity extends Activity
|
|||||||
private String keyprefDisableBuiltInAEC;
|
private String keyprefDisableBuiltInAEC;
|
||||||
private String keyprefDisableBuiltInAGC;
|
private String keyprefDisableBuiltInAGC;
|
||||||
private String keyprefDisableBuiltInNS;
|
private String keyprefDisableBuiltInNS;
|
||||||
|
private String keyprefEnableLevelControl;
|
||||||
|
|
||||||
private String keyPrefRoomServerUrl;
|
private String keyPrefRoomServerUrl;
|
||||||
private String keyPrefDisplayHud;
|
private String keyPrefDisplayHud;
|
||||||
@ -74,6 +75,7 @@ public class SettingsActivity extends Activity
|
|||||||
keyprefDisableBuiltInAEC = getString(R.string.pref_disable_built_in_aec_key);
|
keyprefDisableBuiltInAEC = getString(R.string.pref_disable_built_in_aec_key);
|
||||||
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);
|
||||||
|
|
||||||
keyPrefRoomServerUrl = getString(R.string.pref_room_server_url_key);
|
keyPrefRoomServerUrl = getString(R.string.pref_room_server_url_key);
|
||||||
keyPrefDisplayHud = getString(R.string.pref_displayhud_key);
|
keyPrefDisplayHud = getString(R.string.pref_displayhud_key);
|
||||||
@ -115,6 +117,7 @@ public class SettingsActivity extends Activity
|
|||||||
updateSummaryB(sharedPreferences, keyprefDisableBuiltInAEC);
|
updateSummaryB(sharedPreferences, keyprefDisableBuiltInAEC);
|
||||||
updateSummaryB(sharedPreferences, keyprefDisableBuiltInAGC);
|
updateSummaryB(sharedPreferences, keyprefDisableBuiltInAGC);
|
||||||
updateSummaryB(sharedPreferences, keyprefDisableBuiltInNS);
|
updateSummaryB(sharedPreferences, keyprefDisableBuiltInNS);
|
||||||
|
updateSummaryB(sharedPreferences, keyprefEnableLevelControl);
|
||||||
|
|
||||||
updateSummary(sharedPreferences, keyPrefRoomServerUrl);
|
updateSummary(sharedPreferences, keyPrefRoomServerUrl);
|
||||||
updateSummaryB(sharedPreferences, keyPrefDisplayHud);
|
updateSummaryB(sharedPreferences, keyPrefDisplayHud);
|
||||||
@ -192,6 +195,7 @@ public class SettingsActivity extends Activity
|
|||||||
|| key.equals(keyprefDisableBuiltInAEC)
|
|| key.equals(keyprefDisableBuiltInAEC)
|
||||||
|| key.equals(keyprefDisableBuiltInAGC)
|
|| key.equals(keyprefDisableBuiltInAGC)
|
||||||
|| key.equals(keyprefDisableBuiltInNS)
|
|| key.equals(keyprefDisableBuiltInNS)
|
||||||
|
|| key.equals(keyprefEnableLevelControl)
|
||||||
|| key.equals(keyPrefDisplayHud)) {
|
|| key.equals(keyPrefDisplayHud)) {
|
||||||
updateSummaryB(sharedPreferences, key);
|
updateSummaryB(sharedPreferences, key);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -285,7 +285,8 @@ public class PeerConnectionClientTest extends InstrumentationTestCase
|
|||||||
false /* useOpenSLES */,
|
false /* useOpenSLES */,
|
||||||
false /* disableBuiltInAEC */,
|
false /* disableBuiltInAEC */,
|
||||||
false /* disableBuiltInAGC */,
|
false /* disableBuiltInAGC */,
|
||||||
false /* disableBuiltInNS */);
|
false /* disableBuiltInNS */,
|
||||||
|
false /* enableLevelControl */);
|
||||||
return peerConnectionParameters;
|
return peerConnectionParameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -315,7 +316,8 @@ public class PeerConnectionClientTest extends InstrumentationTestCase
|
|||||||
false /* useOpenSLES */,
|
false /* useOpenSLES */,
|
||||||
false /* disableBuiltInAEC */,
|
false /* disableBuiltInAEC */,
|
||||||
false /* disableBuiltInAGC */,
|
false /* disableBuiltInAGC */,
|
||||||
false /* disableBuiltInNS */);
|
false /* disableBuiltInNS */,
|
||||||
|
false /* enableLevelControl */);
|
||||||
return peerConnectionParameters;
|
return peerConnectionParameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user