| Index: webrtc/modules/audio_processing/include/audio_processing.h | 
| diff --git a/webrtc/modules/audio_processing/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h | 
| index 6fa1c96c0771c14d141836dc0c88bf69ec9f5aea..7c16c202fe71d732e82e8f153a31bfa1ca6ad9ab 100644 | 
| --- a/webrtc/modules/audio_processing/include/audio_processing.h | 
| +++ b/webrtc/modules/audio_processing/include/audio_processing.h | 
| @@ -122,6 +122,15 @@ struct AudioProcessing48kHzSupport { | 
| bool enabled; | 
| }; | 
|  | 
| +// Use to enable intelligibility enhancer in audio processing. Must be provided | 
| +// though the constructor. It will have no impact if used with | 
| +// AudioProcessing::SetExtraOptions(). | 
| +struct Intelligibility { | 
| +  Intelligibility() : enabled(false) {} | 
| +  explicit Intelligibility(bool enabled) : enabled(enabled) {} | 
| +  bool enabled; | 
| +}; | 
| + | 
| static const int kAudioProcMaxNativeSampleRateHz = 32000; | 
|  | 
| // The Audio Processing Module (APM) provides a collection of voice processing | 
| @@ -323,7 +332,14 @@ class AudioProcessing { | 
| // of |data| points to a channel buffer, arranged according to |layout|. | 
| virtual int AnalyzeReverseStream(const float* const* data, | 
| int samples_per_channel, | 
| -                                   int sample_rate_hz, | 
| +                                   int rev_sample_rate_hz, | 
| +                                   ChannelLayout layout) = 0; | 
| + | 
| +  // Same as AnalyzeReverseStream, but may modify |data| if intelligibility | 
| +  // is enabled. | 
| +  virtual int ProcessReverseStream(float* const* data, | 
| +                                   int samples_per_channel, | 
| +                                   int rev_sample_rate_hz, | 
| ChannelLayout layout) = 0; | 
|  | 
| // This must be called if and only if echo processing is enabled. | 
|  |