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

Side by Side Diff: webrtc/media/engine/webrtcvoiceengine.cc

Issue 2799033006: Injectable audio encoders: Moved audio encoder, factory and builtin factory to api/. (Closed)
Patch Set: More backwards-compatibility! Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2004 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
(...skipping 19 matching lines...) Expand all
30 #include "webrtc/base/stringutils.h" 30 #include "webrtc/base/stringutils.h"
31 #include "webrtc/base/trace_event.h" 31 #include "webrtc/base/trace_event.h"
32 #include "webrtc/media/base/audiosource.h" 32 #include "webrtc/media/base/audiosource.h"
33 #include "webrtc/media/base/mediaconstants.h" 33 #include "webrtc/media/base/mediaconstants.h"
34 #include "webrtc/media/base/streamparams.h" 34 #include "webrtc/media/base/streamparams.h"
35 #include "webrtc/media/engine/adm_helpers.h" 35 #include "webrtc/media/engine/adm_helpers.h"
36 #include "webrtc/media/engine/apm_helpers.h" 36 #include "webrtc/media/engine/apm_helpers.h"
37 #include "webrtc/media/engine/payload_type_mapper.h" 37 #include "webrtc/media/engine/payload_type_mapper.h"
38 #include "webrtc/media/engine/webrtcmediaengine.h" 38 #include "webrtc/media/engine/webrtcmediaengine.h"
39 #include "webrtc/media/engine/webrtcvoe.h" 39 #include "webrtc/media/engine/webrtcvoe.h"
40 #include "webrtc/modules/audio_coding/codecs/builtin_audio_encoder_factory.h"
41 #include "webrtc/modules/audio_mixer/audio_mixer_impl.h" 40 #include "webrtc/modules/audio_mixer/audio_mixer_impl.h"
42 #include "webrtc/modules/audio_processing/include/audio_processing.h" 41 #include "webrtc/modules/audio_processing/include/audio_processing.h"
43 #include "webrtc/system_wrappers/include/field_trial.h" 42 #include "webrtc/system_wrappers/include/field_trial.h"
44 #include "webrtc/system_wrappers/include/metrics.h" 43 #include "webrtc/system_wrappers/include/metrics.h"
45 #include "webrtc/system_wrappers/include/trace.h" 44 #include "webrtc/system_wrappers/include/trace.h"
46 #include "webrtc/voice_engine/transmit_mixer.h" 45 #include "webrtc/voice_engine/transmit_mixer.h"
47 46
48 namespace cricket { 47 namespace cricket {
49 namespace { 48 namespace {
50 49
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 } else { 203 } else {
205 // If codec is multi-rate then just set the bitrate. 204 // If codec is multi-rate then just set the bitrate.
206 return rtc::Optional<int>(std::min(bps, spec.info.max_bitrate_bps)); 205 return rtc::Optional<int>(std::min(bps, spec.info.max_bitrate_bps));
207 } 206 }
208 } 207 }
209 208
210 } // namespace 209 } // namespace
211 210
212 WebRtcVoiceEngine::WebRtcVoiceEngine( 211 WebRtcVoiceEngine::WebRtcVoiceEngine(
213 webrtc::AudioDeviceModule* adm, 212 webrtc::AudioDeviceModule* adm,
213 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>& encoder_factory,
214 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory, 214 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory,
215 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) 215 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer)
216 : WebRtcVoiceEngine(adm, decoder_factory, audio_mixer, new VoEWrapper()) { 216 : WebRtcVoiceEngine(adm,
217 encoder_factory,
218 decoder_factory,
219 audio_mixer,
220 new VoEWrapper()) {
217 audio_state_ = 221 audio_state_ =
218 webrtc::AudioState::Create(MakeAudioStateConfig(voe(), audio_mixer)); 222 webrtc::AudioState::Create(MakeAudioStateConfig(voe(), audio_mixer));
219 } 223 }
220 224
221 WebRtcVoiceEngine::WebRtcVoiceEngine( 225 WebRtcVoiceEngine::WebRtcVoiceEngine(
222 webrtc::AudioDeviceModule* adm, 226 webrtc::AudioDeviceModule* adm,
227 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>& encoder_factory,
223 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory, 228 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory,
224 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer, 229 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
225 VoEWrapper* voe_wrapper) 230 VoEWrapper* voe_wrapper)
226 : adm_(adm), 231 : adm_(adm),
227 encoder_factory_(webrtc::CreateBuiltinAudioEncoderFactory()), 232 encoder_factory_(encoder_factory),
228 decoder_factory_(decoder_factory), 233 decoder_factory_(decoder_factory),
229 voe_wrapper_(voe_wrapper) { 234 voe_wrapper_(voe_wrapper) {
230 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); 235 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
231 LOG(LS_INFO) << "WebRtcVoiceEngine::WebRtcVoiceEngine"; 236 LOG(LS_INFO) << "WebRtcVoiceEngine::WebRtcVoiceEngine";
232 RTC_DCHECK(voe_wrapper); 237 RTC_DCHECK(voe_wrapper);
233 RTC_DCHECK(decoder_factory); 238 RTC_DCHECK(decoder_factory);
234 239
235 signal_thread_checker_.DetachFromThread(); 240 signal_thread_checker_.DetachFromThread();
236 241
237 // Load our audio codec list. 242 // Load our audio codec lists.
238 LOG(LS_INFO) << "Supported send codecs in order of preference:"; 243 LOG(LS_INFO) << "Supported send codecs in order of preference:";
239 send_codecs_ = CollectCodecs(encoder_factory_->GetSupportedEncoders()); 244 send_codecs_ = CollectCodecs(encoder_factory_->GetSupportedEncoders());
240 for (const AudioCodec& codec : send_codecs_) { 245 for (const AudioCodec& codec : send_codecs_) {
241 LOG(LS_INFO) << ToString(codec); 246 LOG(LS_INFO) << ToString(codec);
242 } 247 }
243 248
244 LOG(LS_INFO) << "Supported recv codecs in order of preference:"; 249 LOG(LS_INFO) << "Supported recv codecs in order of preference:";
245 recv_codecs_ = CollectCodecs(decoder_factory_->GetSupportedDecoders()); 250 recv_codecs_ = CollectCodecs(decoder_factory_->GetSupportedDecoders());
246 for (const AudioCodec& codec : recv_codecs_) { 251 for (const AudioCodec& codec : recv_codecs_) {
247 LOG(LS_INFO) << ToString(codec); 252 LOG(LS_INFO) << ToString(codec);
(...skipping 2074 matching lines...) Expand 10 before | Expand all | Expand 10 after
2322 ssrc); 2327 ssrc);
2323 if (it != unsignaled_recv_ssrcs_.end()) { 2328 if (it != unsignaled_recv_ssrcs_.end()) {
2324 unsignaled_recv_ssrcs_.erase(it); 2329 unsignaled_recv_ssrcs_.erase(it);
2325 return true; 2330 return true;
2326 } 2331 }
2327 return false; 2332 return false;
2328 } 2333 }
2329 } // namespace cricket 2334 } // namespace cricket
2330 2335
2331 #endif // HAVE_WEBRTC_VOICE 2336 #endif // HAVE_WEBRTC_VOICE
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvoiceengine.h ('k') | webrtc/media/engine/webrtcvoiceengine_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698