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 5aa697865ff61e43fad1372d69196fadf184b3a3..5dff58d67573756dbec8dc7295c509e808daff3b 100644 |
| --- a/webrtc/modules/audio_mixer/audio_mixer_impl.h |
| +++ b/webrtc/modules/audio_mixer/audio_mixer_impl.h |
| @@ -16,6 +16,7 @@ |
| #include "webrtc/base/thread_annotations.h" |
| #include "webrtc/base/thread_checker.h" |
| +#include "webrtc/base/scoped_ref_ptr.h" |
|
the sun
2016/10/10 13:35:49
nit: s comes before t in western european alphabet
aleloi
2016/10/10 14:02:27
Done.
|
| #include "webrtc/modules/audio_mixer/audio_mixer.h" |
| #include "webrtc/modules/audio_processing/include/audio_processing.h" |
| #include "webrtc/modules/include/module_common_types.h" |
| @@ -41,15 +42,20 @@ class AudioMixerImpl : public AudioMixer { |
| // AudioProcessing only accepts 10 ms frames. |
| static const int kFrameDurationInMs = 10; |
| + static const int kMaximumAmountOfMixedAudioSources = 3; |
| static const int kDefaultFrequency = 48000; |
| - static std::unique_ptr<AudioMixerImpl> Create(); |
| + static rtc::scoped_refptr<AudioMixerImpl> Create(); |
|
aleloi
2016/10/10 13:06:31
When we move the interface to webrtc/api, we can a
the sun
2016/10/10 13:35:49
It's ok to do it separately. Once you get around t
aleloi
2016/10/10 14:02:27
Acknowledged.
|
| + |
| + explicit AudioMixerImpl(std::unique_ptr<AudioProcessing> limiter); |
|
aleloi
2016/10/10 13:06:31
A refcounted object must have a public constructor
the sun
2016/10/10 13:35:49
No, protected should be enough if you're using rtc
aleloi
2016/10/10 14:02:27
Done.
|
| ~AudioMixerImpl() override; |
| // AudioMixer functions |
| - int32_t SetMixabilityStatus(Source* audio_source, bool mixable) override; |
| - void Mix(int sample_rate, |
| + bool AddSource(Source* audio_source) override; |
| + bool RemoveSource(Source* audio_source) override; |
| + |
| + void Mix(int sample_rate_hz, |
| size_t number_of_channels, |
| AudioFrame* audio_frame_for_mixing) override; |
| @@ -59,8 +65,6 @@ class AudioMixerImpl : public AudioMixer { |
| bool GetAudioSourceMixabilityStatusForTest(Source* audio_source) const; |
| private: |
| - explicit AudioMixerImpl(std::unique_ptr<AudioProcessing> limiter); |
| - |
| // Set/get mix frequency |
| void SetOutputFrequency(int frequency); |
| int OutputFrequency() const; |
| @@ -68,8 +72,7 @@ class AudioMixerImpl : public AudioMixer { |
| // Compute what audio sources to mix from audio_source_list_. Ramp |
| // in and out. Update mixed status. Mixes up to |
| // kMaximumAmountOfMixedAudioSources audio sources. |
| - AudioFrameList GetNonAnonymousAudio() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
| - |
| + AudioFrameList GetAudioFromSources() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
| // Add/remove the MixerAudioSource to the specified |
| // MixerAudioSource list. |
| @@ -90,7 +93,6 @@ class AudioMixerImpl : public AudioMixer { |
| // List of all audio sources. Note all lists are disjunct |
| SourceStatusList audio_source_list_ GUARDED_BY(crit_); // May be mixed. |
| - size_t num_mixed_audio_sources_ GUARDED_BY(crit_); |
| // Determines if we will use a limiter for clipping protection during |
| // mixing. |
| bool use_limiter_ ACCESS_ON(&thread_checker_); |