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 63bc7404d4f822119caaf3f3ed626a2ca1abb31f..183e56b228a14fdbc4e6dccf0fe50c3dace44fa5 100644 |
--- a/webrtc/modules/audio_mixer/audio_mixer_impl.h |
+++ b/webrtc/modules/audio_mixer/audio_mixer_impl.h |
@@ -18,6 +18,7 @@ |
#include "webrtc/base/scoped_ref_ptr.h" |
#include "webrtc/base/thread_annotations.h" |
#include "webrtc/base/race_checker.h" |
+#include "webrtc/modules/audio_mixer/frame_combiner.h" |
ivoc
2017/02/15 16:58:46
Since only a pointer to FrameCombiner is used in t
aleloi
2017/02/16 14:01:35
I thought FrameCombiner would be an interface and
ivoc
2017/02/21 09:59:16
Acknowledged.
|
#include "webrtc/modules/audio_mixer/output_rate_calculator.h" |
#include "webrtc/modules/audio_processing/include/audio_processing.h" |
#include "webrtc/modules/include/module_common_types.h" |
@@ -48,9 +49,18 @@ class AudioMixerImpl : public AudioMixer { |
static const int kMaximumAmountOfMixedAudioSources = 3; |
static rtc::scoped_refptr<AudioMixerImpl> Create(); |
- static rtc::scoped_refptr<AudioMixerImpl> CreateWithOutputRateCalculator( |
+ |
+ // TODO(aleloi): remove this when dependencies have updated to |
+ // the last one. See bugs.webrtc.org/7167. |
ivoc
2017/02/15 16:58:46
What do you mean by "the last one"? It's a bit unc
aleloi
2017/02/16 14:01:35
I changed the wording a bit.
|
+ RTC_DEPRECATED static rtc::scoped_refptr<AudioMixerImpl> |
+ CreateWithOutputRateCalculator( |
std::unique_ptr<OutputRateCalculator> output_rate_calculator); |
+ static rtc::scoped_refptr<AudioMixerImpl> |
+ CreateWithOutputRateCalculatorAndLimiter( |
+ std::unique_ptr<OutputRateCalculator> output_rate_calculator, |
+ bool use_limiter); |
+ |
~AudioMixerImpl() override; |
// AudioMixer functions |
@@ -66,8 +76,8 @@ class AudioMixerImpl : public AudioMixer { |
bool GetAudioSourceMixabilityStatusForTest(Source* audio_source) const; |
protected: |
- AudioMixerImpl(std::unique_ptr<AudioProcessing> limiter, |
- std::unique_ptr<OutputRateCalculator> output_rate_calculator); |
+ AudioMixerImpl(std::unique_ptr<OutputRateCalculator> output_rate_calculator, |
+ bool use_limiter); |
private: |
// Set mixing frequency through OutputFrequencyCalculator. |
@@ -87,8 +97,6 @@ class AudioMixerImpl : public AudioMixer { |
bool RemoveAudioSourceFromList(Source* remove_audio_source, |
SourceStatusList* audio_source_list) const; |
- bool LimitMixedAudio(AudioFrame* mixed_audio) const; |
- |
// The critical section lock guards audio source insertion and |
// removal, which can be done from any thread. The race checker |
// checks that mixing is done sequentially. |
@@ -103,14 +111,8 @@ class AudioMixerImpl : public AudioMixer { |
// List of all audio sources. Note all lists are disjunct |
SourceStatusList audio_source_list_ GUARDED_BY(crit_); // May be mixed. |
- // Determines if we will use a limiter for clipping protection during |
- // mixing. |
- bool use_limiter_ GUARDED_BY(race_checker_); |
- |
- uint32_t time_stamp_ GUARDED_BY(race_checker_); |
- |
- // Used for inhibiting saturation in mixing. |
- std::unique_ptr<AudioProcessing> limiter_ GUARDED_BY(race_checker_); |
+ // Component that handles actual adding of audio frames. |
+ std::unique_ptr<FrameCombiner> frame_combiner_ GUARDED_BY(race_checker_); |
RTC_DISALLOW_COPY_AND_ASSIGN(AudioMixerImpl); |
}; |