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

Side by Side Diff: webrtc/voice_engine/voe_external_media_impl.cc

Issue 2424173003: Move functionality out from AudioFrame and into AudioFrameOperations. (Closed)
Patch Set: Removed unneeded checks for #channels <= 2. Created 4 years 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 unified diff | Download patch
« webrtc/modules/utility/DEPS ('K') | « webrtc/voice_engine/utility.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/voice_engine/voe_external_media_impl.h" 11 #include "webrtc/voice_engine/voe_external_media_impl.h"
12 12
13 #include "webrtc/audio/utility/audio_frame_operations.h"
13 #include "webrtc/system_wrappers/include/trace.h" 14 #include "webrtc/system_wrappers/include/trace.h"
14 #include "webrtc/voice_engine/channel.h" 15 #include "webrtc/voice_engine/channel.h"
15 #include "webrtc/voice_engine/include/voe_errors.h" 16 #include "webrtc/voice_engine/include/voe_errors.h"
16 #include "webrtc/voice_engine/output_mixer.h" 17 #include "webrtc/voice_engine/output_mixer.h"
17 #include "webrtc/voice_engine/transmit_mixer.h" 18 #include "webrtc/voice_engine/transmit_mixer.h"
18 #include "webrtc/voice_engine/voice_engine_impl.h" 19 #include "webrtc/voice_engine/voice_engine_impl.h"
19 20
20 namespace webrtc { 21 namespace webrtc {
21 22
22 VoEExternalMedia* VoEExternalMedia::GetInterface(VoiceEngine* voiceEngine) { 23 VoEExternalMedia* VoEExternalMedia::GetInterface(VoiceEngine* voiceEngine) {
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 } 149 }
149 if (desired_sample_rate_hz == -1) { 150 if (desired_sample_rate_hz == -1) {
150 shared_->SetLastError(VE_BAD_ARGUMENT, kTraceError, 151 shared_->SetLastError(VE_BAD_ARGUMENT, kTraceError,
151 "GetAudioFrame() was called with bad sample rate."); 152 "GetAudioFrame() was called with bad sample rate.");
152 return -1; 153 return -1;
153 } 154 }
154 frame->sample_rate_hz_ = 155 frame->sample_rate_hz_ =
155 desired_sample_rate_hz == 0 ? -1 : desired_sample_rate_hz; 156 desired_sample_rate_hz == 0 ? -1 : desired_sample_rate_hz;
156 auto ret = channelPtr->GetAudioFrameWithMuted(channel, frame); 157 auto ret = channelPtr->GetAudioFrameWithMuted(channel, frame);
157 if (ret == MixerParticipant::AudioFrameInfo::kMuted) { 158 if (ret == MixerParticipant::AudioFrameInfo::kMuted) {
158 frame->Mute(); 159 AudioFrameOperations::Mute(frame);
159 } 160 }
160 return ret == MixerParticipant::AudioFrameInfo::kError ? -1 : 0; 161 return ret == MixerParticipant::AudioFrameInfo::kError ? -1 : 0;
161 } 162 }
162 163
163 int VoEExternalMediaImpl::SetExternalMixing(int channel, bool enable) { 164 int VoEExternalMediaImpl::SetExternalMixing(int channel, bool enable) {
164 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, 165 WEBRTC_TRACE(kTraceApiCall, kTraceVoice,
165 VoEId(shared_->instance_id(), channel), 166 VoEId(shared_->instance_id(), channel),
166 "SetExternalMixing(channel=%d, enable=%d)", channel, enable); 167 "SetExternalMixing(channel=%d, enable=%d)", channel, enable);
167 if (!shared_->statistics().Initialized()) { 168 if (!shared_->statistics().Initialized()) {
168 shared_->SetLastError(VE_NOT_INITED, kTraceError); 169 shared_->SetLastError(VE_NOT_INITED, kTraceError);
169 return -1; 170 return -1;
170 } 171 }
171 voe::ChannelOwner ch = shared_->channel_manager().GetChannel(channel); 172 voe::ChannelOwner ch = shared_->channel_manager().GetChannel(channel);
172 voe::Channel* channelPtr = ch.channel(); 173 voe::Channel* channelPtr = ch.channel();
173 if (channelPtr == NULL) { 174 if (channelPtr == NULL) {
174 shared_->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError, 175 shared_->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
175 "SetExternalMixing() failed to locate channel"); 176 "SetExternalMixing() failed to locate channel");
176 return -1; 177 return -1;
177 } 178 }
178 return channelPtr->SetExternalMixing(enable); 179 return channelPtr->SetExternalMixing(enable);
179 } 180 }
180 181
181 #endif // WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API 182 #endif // WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API
182 183
183 } // namespace webrtc 184 } // namespace webrtc
OLDNEW
« webrtc/modules/utility/DEPS ('K') | « webrtc/voice_engine/utility.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698