Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1113)

Unified Diff: webrtc/modules/audio_mixer/source/new_audio_conference_mixer_impl.cc

Issue 2221443002: Changed mixing api and removed resampler (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698