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

Side by Side Diff: webrtc/modules/audio_coding/acm2/audio_coding_module.cc

Issue 1992763002: Moved injection of AudioDecoderFactory into voe::Channel. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@audio-decoder-factory-injections-1
Patch Set: Addressed nit. Created 4 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) 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/modules/audio_coding/include/audio_coding_module.h" 11 #include "webrtc/modules/audio_coding/include/audio_coding_module.h"
12 12
13 #include "webrtc/base/checks.h" 13 #include "webrtc/base/checks.h"
14 #include "webrtc/common_types.h" 14 #include "webrtc/common_types.h"
15 #include "webrtc/modules/audio_coding/acm2/audio_coding_module_impl.h" 15 #include "webrtc/modules/audio_coding/acm2/audio_coding_module_impl.h"
16 #include "webrtc/modules/audio_coding/acm2/rent_a_codec.h" 16 #include "webrtc/modules/audio_coding/acm2/rent_a_codec.h"
17 #include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h"
17 #include "webrtc/system_wrappers/include/clock.h" 18 #include "webrtc/system_wrappers/include/clock.h"
18 #include "webrtc/system_wrappers/include/trace.h" 19 #include "webrtc/system_wrappers/include/trace.h"
19 20
20 namespace webrtc { 21 namespace webrtc {
21 22
22 // Create module 23 // Create module
23 AudioCodingModule* AudioCodingModule::Create(int id) { 24 AudioCodingModule* AudioCodingModule::Create(int id) {
24 Config config; 25 Config config;
25 config.id = id; 26 config.id = id;
26 config.clock = Clock::GetRealTimeClock(); 27 config.clock = Clock::GetRealTimeClock();
28 config.decoder_factory = CreateBuiltinAudioDecoderFactory();
27 return Create(config); 29 return Create(config);
28 } 30 }
29 31
30 AudioCodingModule* AudioCodingModule::Create(int id, Clock* clock) { 32 AudioCodingModule* AudioCodingModule::Create(int id, Clock* clock) {
31 Config config; 33 Config config;
32 config.id = id; 34 config.id = id;
33 config.clock = clock; 35 config.clock = clock;
36 config.decoder_factory = CreateBuiltinAudioDecoderFactory();
34 return Create(config); 37 return Create(config);
35 } 38 }
36 39
37 AudioCodingModule* AudioCodingModule::Create(const Config& config) { 40 AudioCodingModule* AudioCodingModule::Create(const Config& config) {
41 if (!config.decoder_factory) {
42 // TODO(ossu): Backwards compatibility. Will be removed after a deprecation
43 // cycle.
44 Config config_copy = config;
45 config_copy.decoder_factory = CreateBuiltinAudioDecoderFactory();
46 return new acm2::AudioCodingModuleImpl(config_copy);
47 }
38 return new acm2::AudioCodingModuleImpl(config); 48 return new acm2::AudioCodingModuleImpl(config);
39 } 49 }
40 50
41 int AudioCodingModule::NumberOfCodecs() { 51 int AudioCodingModule::NumberOfCodecs() {
42 return static_cast<int>(acm2::RentACodec::NumberOfCodecs()); 52 return static_cast<int>(acm2::RentACodec::NumberOfCodecs());
43 } 53 }
44 54
45 int AudioCodingModule::Codec(int list_id, CodecInst* codec) { 55 int AudioCodingModule::Codec(int list_id, CodecInst* codec) {
46 auto codec_id = acm2::RentACodec::CodecIdFromIndex(list_id); 56 auto codec_id = acm2::RentACodec::CodecIdFromIndex(list_id);
47 if (!codec_id) 57 if (!codec_id)
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 // Checks the validity of the parameters of the given codec 99 // Checks the validity of the parameters of the given codec
90 bool AudioCodingModule::IsCodecValid(const CodecInst& codec) { 100 bool AudioCodingModule::IsCodecValid(const CodecInst& codec) {
91 bool valid = acm2::RentACodec::IsCodecValid(codec); 101 bool valid = acm2::RentACodec::IsCodecValid(codec);
92 if (!valid) 102 if (!valid)
93 WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, -1, 103 WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, -1,
94 "Invalid codec setting"); 104 "Invalid codec setting");
95 return valid; 105 return valid;
96 } 106 }
97 107
98 } // namespace webrtc 108 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698