| 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
|
|
|