Index: webrtc/modules/audio_mixer/source/new_audio_conference_mixer_impl.cc |
diff --git a/webrtc/modules/audio_mixer/source/new_audio_conference_mixer_impl.cc b/webrtc/modules/audio_mixer/source/new_audio_conference_mixer_impl.cc |
index 47eac8fff56edb5653a766ef2e345f78de64c64a..086cb74e43a91b05d54940fb3a3b3021cce33a7a 100644 |
--- a/webrtc/modules/audio_mixer/source/new_audio_conference_mixer_impl.cc |
+++ b/webrtc/modules/audio_mixer/source/new_audio_conference_mixer_impl.cc |
@@ -19,6 +19,7 @@ |
#include "webrtc/modules/utility/include/audio_frame_operations.h" |
#include "webrtc/system_wrappers/include/critical_section_wrapper.h" |
#include "webrtc/system_wrappers/include/trace.h" |
+#include "webrtc/voice_engine/utility.h" |
namespace webrtc { |
namespace { |
@@ -189,7 +190,11 @@ bool NewAudioConferenceMixerImpl::Init() { |
return true; |
} |
-void NewAudioConferenceMixerImpl::Mix(AudioFrame* audio_frame_for_mixing) { |
+void NewAudioConferenceMixerImpl::Mix(int sample_rate, |
+ size_t number_of_channels, |
+ void* audio_data) { |
+ AudioFrame* audio_frame_for_mixing = |
+ reinterpret_cast<AudioFrame*>(audio_data); |
aleloi
2016/08/05 09:52:22
It's still an AudioFrame on the inside yet...
|
size_t remainingAudioSourcesAllowedToMix = kMaximumAmountOfMixedAudioSources; |
RTC_DCHECK(thread_checker_.CalledOnValidThread()); |
AudioFrameList mixList; |
@@ -277,6 +282,16 @@ void NewAudioConferenceMixerImpl::Mix(AudioFrame* audio_frame_for_mixing) { |
LimitMixedAudio(audio_frame_for_mixing); |
} |
} |
+ |
aleloi
2016/08/05 09:52:21
Resampling copied from OutputMixer. It would be ni
|
+ if (audio_frame_for_mixing->num_channels_ != number_of_channels || |
+ audio_frame_for_mixing->sample_rate_hz_ != sample_rate) { |
+ audio_frame_for_mixing->num_channels_ = number_of_channels; |
+ audio_frame_for_mixing->sample_rate_hz_ = sample_rate; |
+ // TODO(andrew): Ideally the downmixing would occur much earlier, in |
+ // AudioCodingModule. |
+ voe::RemixAndResample(*audio_frame_for_mixing, &resampler_, |
aleloi
2016/08/05 09:52:21
I *think* it's OK for RemixAndResample to put data
|
+ audio_frame_for_mixing); |
+ } |
return; |
} |