Index: webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
index 4c949de7ca9677544dccf14d337c1450e26c83a9..0c43e0ddaef76bf0ca2702e4415a3fa4f29e4876 100644 |
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
@@ -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_H264_HIGH_PROFILE_FIELDTRIAL = |
"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_ECHO_CANCELLATION_CONSTRAINT = "googEchoCancellation"; |
private static final String AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT = "googAutoGainControl"; |
@@ -190,6 +192,7 @@ public class PeerConnectionClient { |
public final boolean disableBuiltInAGC; |
public final boolean disableBuiltInNS; |
public final boolean enableLevelControl; |
+ public final boolean disableWebRtcAGCAndHPF; |
private final DataChannelParameters dataChannelParameters; |
public PeerConnectionParameters(boolean videoCallEnabled, boolean loopback, boolean tracing, |
@@ -197,11 +200,11 @@ public class PeerConnectionClient { |
boolean videoCodecHwAcceleration, boolean videoFlexfecEnabled, int audioStartBitrate, |
String audioCodec, boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES, |
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS, |
- boolean enableLevelControl) { |
+ boolean enableLevelControl, boolean disableWebRtcAGCAndHPF) { |
this(videoCallEnabled, loopback, tracing, videoWidth, videoHeight, videoFps, videoMaxBitrate, |
videoCodec, videoCodecHwAcceleration, videoFlexfecEnabled, audioStartBitrate, audioCodec, |
noAudioProcessing, aecDump, useOpenSLES, disableBuiltInAEC, disableBuiltInAGC, |
- disableBuiltInNS, enableLevelControl, null); |
+ disableBuiltInNS, enableLevelControl, disableWebRtcAGCAndHPF, null); |
} |
public PeerConnectionParameters(boolean videoCallEnabled, boolean loopback, boolean tracing, |
@@ -209,7 +212,8 @@ public class PeerConnectionClient { |
boolean videoCodecHwAcceleration, boolean videoFlexfecEnabled, int audioStartBitrate, |
String audioCodec, boolean noAudioProcessing, boolean aecDump, boolean useOpenSLES, |
boolean disableBuiltInAEC, boolean disableBuiltInAGC, boolean disableBuiltInNS, |
- boolean enableLevelControl, DataChannelParameters dataChannelParameters) { |
+ boolean enableLevelControl, boolean disableWebRtcAGCAndHPF, |
+ DataChannelParameters dataChannelParameters) { |
this.videoCallEnabled = videoCallEnabled; |
this.loopback = loopback; |
this.tracing = tracing; |
@@ -229,6 +233,7 @@ public class PeerConnectionClient { |
this.disableBuiltInAGC = disableBuiltInAGC; |
this.disableBuiltInNS = disableBuiltInNS; |
this.enableLevelControl = enableLevelControl; |
+ this.disableWebRtcAGCAndHPF = disableWebRtcAGCAndHPF; |
this.dataChannelParameters = dataChannelParameters; |
} |
} |
@@ -389,6 +394,10 @@ public class PeerConnectionClient { |
Log.d(TAG, "Enable FlexFEC field trial."); |
} |
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. |
preferredVideoCodec = VIDEO_CODEC_VP8; |