Chromium Code Reviews| 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 83c53126e7d36759731fe86ea000c478c0d8a5ae..339380fe913b135020815a38b45b544366e8bd80 100644 |
| --- a/webrtc/modules/audio_mixer/audio_mixer_impl.h |
| +++ b/webrtc/modules/audio_mixer/audio_mixer_impl.h |
| @@ -18,8 +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_mixer_defines.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" |
| @@ -29,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; |
| + }; |
| + |
| + typedef std::vector<SourceStatus> MixerAudioSourceList; |
|
aleloi
2016/10/07 12:59:21
Question: could we use a type alias instead of typ
|
| + |
| // AudioProcessing only accepts 10 ms frames. |
| static const int kFrameDurationInMs = 10; |
| @@ -41,21 +48,19 @@ class AudioMixerImpl : public AudioMixer { |
| ~AudioMixerImpl() override; |
| // AudioMixer functions |
| - int32_t SetMixabilityStatus(MixerAudioSource* audio_source, |
| - bool mixable) override; |
| - bool MixabilityStatus(const MixerAudioSource& audio_source) const override; |
| - int32_t SetAnonymousMixabilityStatus(MixerAudioSource* audio_source, |
| + int32_t SetMixabilityStatus(Source* audio_source, bool mixable) override; |
| + bool MixabilityStatus(const Source& audio_source) const override; |
| + int32_t SetAnonymousMixabilityStatus(Source* audio_source, |
| bool mixable) override; |
| void Mix(int sample_rate, |
| size_t number_of_channels, |
| AudioFrame* audio_frame_for_mixing) override; |
| - bool AnonymousMixabilityStatus( |
| - const MixerAudioSource& audio_source) const override; |
| + bool AnonymousMixabilityStatus(const Source& audio_source) const override; |
| // Returns true if the source was mixed last round. Returns |
| // false and logs an error if the source was never added to the |
| // mixer. |
| - bool GetAudioSourceMixabilityStatusForTest(MixerAudioSource* audio_source); |
| + bool GetAudioSourceMixabilityStatusForTest(Source* audio_source); |
| private: |
| AudioMixerImpl(int id, std::unique_ptr<AudioProcessing> limiter); |
| @@ -75,9 +80,9 @@ class AudioMixerImpl : public AudioMixer { |
| // Add/remove the MixerAudioSource to the specified |
| // MixerAudioSource list. |
| - bool AddAudioSourceToList(MixerAudioSource* audio_source, |
| + bool AddAudioSourceToList(Source* audio_source, |
| MixerAudioSourceList* audio_source_list) const; |
| - bool RemoveAudioSourceFromList(MixerAudioSource* remove_audio_source, |
| + bool RemoveAudioSourceFromList(Source* remove_audio_source, |
| MixerAudioSourceList* audio_source_list) const; |
| bool LimitMixedAudio(AudioFrame* mixed_audio) const; |