| Index: webrtc/modules/audio_mixer/audio_mixer_impl.h | 
| diff --git a/webrtc/modules/audio_mixer/audio_mixer_impl.h b/webrtc/modules/audio_mixer/audio_mixer_impl.h | 
| index 5b945a1c66d0a87ebed4fc12ba3b67112cdbb9db..d4b9aa857b3160b4e9876f0acab13df5eb4cb323 100644 | 
| --- a/webrtc/modules/audio_mixer/audio_mixer_impl.h | 
| +++ b/webrtc/modules/audio_mixer/audio_mixer_impl.h | 
| @@ -18,7 +18,6 @@ | 
| #include "webrtc/base/thread_annotations.h" | 
| #include "webrtc/base/thread_checker.h" | 
| #include "webrtc/modules/audio_mixer/audio_mixer.h" | 
| -#include "webrtc/modules/audio_mixer/audio_source_with_mix_status.h" | 
| #include "webrtc/modules/audio_processing/include/audio_processing.h" | 
| #include "webrtc/modules/include/module_common_types.h" | 
| #include "webrtc/system_wrappers/include/critical_section_wrapper.h" | 
| @@ -28,10 +27,19 @@ | 
| namespace webrtc { | 
|  | 
| typedef std::vector<AudioFrame*> AudioFrameList; | 
| -typedef std::vector<AudioSourceWithMixStatus> MixerAudioSourceList; | 
|  | 
| class AudioMixerImpl : public AudioMixer { | 
| public: | 
| +  struct SourceStatus { | 
| +    SourceStatus(Source* audio_source, bool is_mixed, float gain) | 
| +        : audio_source(audio_source), is_mixed(is_mixed), gain(gain) {} | 
| +    Source* audio_source = nullptr; | 
| +    bool is_mixed = false; | 
| +    float gain = 0.0f; | 
| +  }; | 
| + | 
| +  typedef std::vector<SourceStatus> SourceStatusList; | 
| + | 
| // AudioProcessing only accepts 10 ms frames. | 
| static const int kFrameDurationInMs = 10; | 
|  | 
| @@ -73,9 +81,9 @@ class AudioMixerImpl : public AudioMixer { | 
| // Add/remove the MixerAudioSource to the specified | 
| // MixerAudioSource list. | 
| bool AddAudioSourceToList(Source* audio_source, | 
| -                            MixerAudioSourceList* audio_source_list) const; | 
| +                            SourceStatusList* audio_source_list) const; | 
| bool RemoveAudioSourceFromList(Source* remove_audio_source, | 
| -                                 MixerAudioSourceList* audio_source_list) const; | 
| +                                 SourceStatusList* audio_source_list) const; | 
|  | 
| bool LimitMixedAudio(AudioFrame* mixed_audio) const; | 
|  | 
| @@ -93,10 +101,10 @@ class AudioMixerImpl : public AudioMixer { | 
| size_t sample_size_ ACCESS_ON(&thread_checker_); | 
|  | 
| // List of all audio sources. Note all lists are disjunct | 
| -  MixerAudioSourceList audio_source_list_ GUARDED_BY(crit_);  // May be mixed. | 
| +  SourceStatusList audio_source_list_ GUARDED_BY(crit_);  // May be mixed. | 
|  | 
| // Always mixed, anonymously. | 
| -  MixerAudioSourceList additional_audio_source_list_ GUARDED_BY(crit_); | 
| +  SourceStatusList additional_audio_source_list_ GUARDED_BY(crit_); | 
|  | 
| size_t num_mixed_audio_sources_ GUARDED_BY(crit_); | 
| // Determines if we will use a limiter for clipping protection during | 
|  |