OLD | NEW |
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 20 matching lines...) Expand all Loading... |
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/acm2/rent_a_codec.h" | 40 #include "webrtc/modules/audio_coding/acm2/rent_a_codec.h" |
41 #include "webrtc/modules/audio_coding/codecs/builtin_audio_encoder_factory.h" | |
42 #include "webrtc/modules/audio_mixer/audio_mixer_impl.h" | 41 #include "webrtc/modules/audio_mixer/audio_mixer_impl.h" |
43 #include "webrtc/modules/audio_processing/include/audio_processing.h" | 42 #include "webrtc/modules/audio_processing/include/audio_processing.h" |
44 #include "webrtc/system_wrappers/include/field_trial.h" | 43 #include "webrtc/system_wrappers/include/field_trial.h" |
45 #include "webrtc/system_wrappers/include/metrics.h" | 44 #include "webrtc/system_wrappers/include/metrics.h" |
46 #include "webrtc/system_wrappers/include/trace.h" | 45 #include "webrtc/system_wrappers/include/trace.h" |
47 #include "webrtc/voice_engine/transmit_mixer.h" | 46 #include "webrtc/voice_engine/transmit_mixer.h" |
48 | 47 |
49 namespace cricket { | 48 namespace cricket { |
50 namespace { | 49 namespace { |
51 | 50 |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 | 262 |
264 } // namespace | 263 } // namespace |
265 | 264 |
266 bool WebRtcVoiceEngine::ToCodecInst(const AudioCodec& in, | 265 bool WebRtcVoiceEngine::ToCodecInst(const AudioCodec& in, |
267 webrtc::CodecInst* out) { | 266 webrtc::CodecInst* out) { |
268 return WebRtcVoiceCodecs::ToCodecInst(in, out); | 267 return WebRtcVoiceCodecs::ToCodecInst(in, out); |
269 } | 268 } |
270 | 269 |
271 WebRtcVoiceEngine::WebRtcVoiceEngine( | 270 WebRtcVoiceEngine::WebRtcVoiceEngine( |
272 webrtc::AudioDeviceModule* adm, | 271 webrtc::AudioDeviceModule* adm, |
| 272 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>& encoder_factory, |
273 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory, | 273 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory, |
274 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) | 274 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) |
275 : WebRtcVoiceEngine(adm, decoder_factory, audio_mixer, new VoEWrapper()) { | 275 : WebRtcVoiceEngine(adm, |
| 276 encoder_factory, |
| 277 decoder_factory, |
| 278 audio_mixer, |
| 279 new VoEWrapper()) { |
276 audio_state_ = | 280 audio_state_ = |
277 webrtc::AudioState::Create(MakeAudioStateConfig(voe(), audio_mixer)); | 281 webrtc::AudioState::Create(MakeAudioStateConfig(voe(), audio_mixer)); |
278 } | 282 } |
279 | 283 |
280 WebRtcVoiceEngine::WebRtcVoiceEngine( | 284 WebRtcVoiceEngine::WebRtcVoiceEngine( |
281 webrtc::AudioDeviceModule* adm, | 285 webrtc::AudioDeviceModule* adm, |
| 286 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>& encoder_factory, |
282 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory, | 287 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& decoder_factory, |
283 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer, | 288 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer, |
284 VoEWrapper* voe_wrapper) | 289 VoEWrapper* voe_wrapper) |
285 : adm_(adm), | 290 : adm_(adm), |
286 encoder_factory_(webrtc::CreateBuiltinAudioEncoderFactory()), | 291 encoder_factory_(encoder_factory), |
287 decoder_factory_(decoder_factory), | 292 decoder_factory_(decoder_factory), |
288 voe_wrapper_(voe_wrapper) { | 293 voe_wrapper_(voe_wrapper) { |
289 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); | 294 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
290 LOG(LS_INFO) << "WebRtcVoiceEngine::WebRtcVoiceEngine"; | 295 LOG(LS_INFO) << "WebRtcVoiceEngine::WebRtcVoiceEngine"; |
291 RTC_DCHECK(voe_wrapper); | 296 RTC_DCHECK(voe_wrapper); |
292 RTC_DCHECK(decoder_factory); | 297 RTC_DCHECK(decoder_factory); |
293 | 298 |
294 signal_thread_checker_.DetachFromThread(); | 299 signal_thread_checker_.DetachFromThread(); |
295 | 300 |
296 // Load our audio codec list. | 301 // Load our audio codec lists. |
297 LOG(LS_INFO) << "Supported send codecs in order of preference:"; | 302 LOG(LS_INFO) << "Supported send codecs in order of preference:"; |
298 send_codecs_ = CollectCodecs(encoder_factory_->GetSupportedEncoders()); | 303 send_codecs_ = CollectCodecs(encoder_factory_->GetSupportedEncoders()); |
299 for (const AudioCodec& codec : send_codecs_) { | 304 for (const AudioCodec& codec : send_codecs_) { |
300 LOG(LS_INFO) << ToString(codec); | 305 LOG(LS_INFO) << ToString(codec); |
301 } | 306 } |
302 | 307 |
303 LOG(LS_INFO) << "Supported recv codecs in order of preference:"; | 308 LOG(LS_INFO) << "Supported recv codecs in order of preference:"; |
304 recv_codecs_ = CollectCodecs(decoder_factory_->GetSupportedDecoders()); | 309 recv_codecs_ = CollectCodecs(decoder_factory_->GetSupportedDecoders()); |
305 for (const AudioCodec& codec : recv_codecs_) { | 310 for (const AudioCodec& codec : recv_codecs_) { |
306 LOG(LS_INFO) << ToString(codec); | 311 LOG(LS_INFO) << ToString(codec); |
(...skipping 2045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2352 ssrc); | 2357 ssrc); |
2353 if (it != unsignaled_recv_ssrcs_.end()) { | 2358 if (it != unsignaled_recv_ssrcs_.end()) { |
2354 unsignaled_recv_ssrcs_.erase(it); | 2359 unsignaled_recv_ssrcs_.erase(it); |
2355 return true; | 2360 return true; |
2356 } | 2361 } |
2357 return false; | 2362 return false; |
2358 } | 2363 } |
2359 } // namespace cricket | 2364 } // namespace cricket |
2360 | 2365 |
2361 #endif // HAVE_WEBRTC_VOICE | 2366 #endif // HAVE_WEBRTC_VOICE |
OLD | NEW |