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

Side by Side Diff: webrtc/modules/audio_coding/include/audio_coding_module.h

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, 6 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 #ifndef WEBRTC_MODULES_AUDIO_CODING_INCLUDE_AUDIO_CODING_MODULE_H_ 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_INCLUDE_AUDIO_CODING_MODULE_H_
12 #define WEBRTC_MODULES_AUDIO_CODING_INCLUDE_AUDIO_CODING_MODULE_H_ 12 #define WEBRTC_MODULES_AUDIO_CODING_INCLUDE_AUDIO_CODING_MODULE_H_
13 13
14 #include <memory> 14 #include <memory>
15 #include <string> 15 #include <string>
16 #include <vector> 16 #include <vector>
17 17
18 #include "webrtc/base/deprecation.h" 18 #include "webrtc/base/deprecation.h"
19 #include "webrtc/base/optional.h" 19 #include "webrtc/base/optional.h"
20 #include "webrtc/common_types.h" 20 #include "webrtc/common_types.h"
21 #include "webrtc/modules/audio_coding/codecs/audio_decoder_factory.h"
21 #include "webrtc/modules/audio_coding/include/audio_coding_module_typedefs.h" 22 #include "webrtc/modules/audio_coding/include/audio_coding_module_typedefs.h"
22 #include "webrtc/modules/audio_coding/neteq/include/neteq.h" 23 #include "webrtc/modules/audio_coding/neteq/include/neteq.h"
23 #include "webrtc/modules/include/module.h" 24 #include "webrtc/modules/include/module.h"
24 #include "webrtc/system_wrappers/include/clock.h" 25 #include "webrtc/system_wrappers/include/clock.h"
25 #include "webrtc/typedefs.h" 26 #include "webrtc/typedefs.h"
26 27
27 namespace webrtc { 28 namespace webrtc {
28 29
29 // forward declarations 30 // forward declarations
30 struct CodecInst; 31 struct CodecInst;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 struct Config { 66 struct Config {
66 Config() : id(0), neteq_config(), clock(Clock::GetRealTimeClock()) { 67 Config() : id(0), neteq_config(), clock(Clock::GetRealTimeClock()) {
67 // Post-decode VAD is disabled by default in NetEq, however, Audio 68 // Post-decode VAD is disabled by default in NetEq, however, Audio
68 // Conference Mixer relies on VAD decisions and fails without them. 69 // Conference Mixer relies on VAD decisions and fails without them.
69 neteq_config.enable_post_decode_vad = true; 70 neteq_config.enable_post_decode_vad = true;
70 } 71 }
71 72
72 int id; 73 int id;
73 NetEq::Config neteq_config; 74 NetEq::Config neteq_config;
74 Clock* clock; 75 Clock* clock;
76 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory;
75 }; 77 };
76 78
77 /////////////////////////////////////////////////////////////////////////// 79 ///////////////////////////////////////////////////////////////////////////
78 // Creation and destruction of a ACM. 80 // Creation and destruction of a ACM.
79 // 81 //
80 // The second method is used for testing where a simulated clock can be 82 // The second method is used for testing where a simulated clock can be
81 // injected into ACM. ACM will take the ownership of the object clock and 83 // injected into ACM. ACM will take the ownership of the object clock and
82 // delete it when destroyed. 84 // delete it when destroyed.
83 // 85 //
84 static AudioCodingModule* Create(int id); 86 static AudioCodingModule* Create(int id);
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 virtual std::vector<uint16_t> GetNackList( 812 virtual std::vector<uint16_t> GetNackList(
811 int64_t round_trip_time_ms) const = 0; 813 int64_t round_trip_time_ms) const = 0;
812 814
813 virtual void GetDecodingCallStatistics( 815 virtual void GetDecodingCallStatistics(
814 AudioDecodingCallStats* call_stats) const = 0; 816 AudioDecodingCallStats* call_stats) const = 0;
815 }; 817 };
816 818
817 } // namespace webrtc 819 } // namespace webrtc
818 820
819 #endif // WEBRTC_MODULES_AUDIO_CODING_INCLUDE_AUDIO_CODING_MODULE_H_ 821 #endif // WEBRTC_MODULES_AUDIO_CODING_INCLUDE_AUDIO_CODING_MODULE_H_
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/acm2/audio_coding_module.cc ('k') | webrtc/modules/audio_coding/neteq/include/neteq.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698