| Index: talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java | 
| diff --git a/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java b/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java | 
| index 41faab17999e890a669336bec070a0fe24bdf069..6e69310e5a6dc545d5e3b3558488445a8ba42d2b 100644 | 
| --- a/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java | 
| +++ b/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java | 
| @@ -79,6 +79,10 @@ public class PeerConnectionClient { | 
| private static final String VIDEO_CODEC_PARAM_START_BITRATE = | 
| "x-google-start-bitrate"; | 
| 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"; | 
| +  private static final String AUDIO_HIGH_PASS_FILTER_CONSTRAINT  = "googHighpassFilter"; | 
| +  private static final String AUDIO_NOISE_SUPPRESSION_CONSTRAINT = "googNoiseSuppression"; | 
| private static final String MAX_VIDEO_WIDTH_CONSTRAINT = "maxWidth"; | 
| private static final String MIN_VIDEO_WIDTH_CONSTRAINT = "minWidth"; | 
| private static final String MAX_VIDEO_HEIGHT_CONSTRAINT = "maxHeight"; | 
| @@ -144,6 +148,7 @@ public class PeerConnectionClient { | 
| public final boolean videoCodecHwAcceleration; | 
| public final int audioStartBitrate; | 
| public final String audioCodec; | 
| +    public final boolean noAudioProcessing; | 
| public final boolean cpuOveruseDetection; | 
|  | 
| public PeerConnectionParameters( | 
| @@ -151,7 +156,7 @@ public class PeerConnectionClient { | 
| int videoWidth, int videoHeight, int videoFps, int videoStartBitrate, | 
| String videoCodec, boolean videoCodecHwAcceleration, | 
| int audioStartBitrate, String audioCodec, | 
| -        boolean cpuOveruseDetection) { | 
| +        boolean noAudioProcessing, boolean cpuOveruseDetection) { | 
| this.videoCallEnabled = videoCallEnabled; | 
| this.loopback = loopback; | 
| this.videoWidth = videoWidth; | 
| @@ -162,6 +167,7 @@ public class PeerConnectionClient { | 
| this.videoCodecHwAcceleration = videoCodecHwAcceleration; | 
| this.audioStartBitrate = audioStartBitrate; | 
| this.audioCodec = audioCodec; | 
| +      this.noAudioProcessing = noAudioProcessing; | 
| this.cpuOveruseDetection = cpuOveruseDetection; | 
| } | 
| } | 
| @@ -387,7 +393,18 @@ public class PeerConnectionClient { | 
|  | 
| // Create audio constraints. | 
| audioConstraints = new MediaConstraints(); | 
| - | 
| +    // added for audio performance measurements | 
| +    if (peerConnectionParameters.noAudioProcessing) { | 
| +      Log.d(TAG, "Disabling audio processing"); | 
| +      audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair( | 
| +            AUDIO_ECHO_CANCELLATION_CONSTRAINT, "false")); | 
| +      audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair( | 
| +            AUDIO_AUTO_GAIN_CONTROL_CONSTRAINT, "false")); | 
| +      audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair( | 
| +            AUDIO_HIGH_PASS_FILTER_CONSTRAINT, "false")); | 
| +      audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair( | 
| +           AUDIO_NOISE_SUPPRESSION_CONSTRAINT , "false")); | 
| +    } | 
| // Create SDP constraints. | 
| sdpMediaConstraints = new MediaConstraints(); | 
| sdpMediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair( | 
|  |