OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 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_MAIN_ACM2_CODEC_MANAGER_H_ | 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_CODEC_MANAGER_H_ |
12 #define WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_CODEC_MANAGER_H_ | 12 #define WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_CODEC_MANAGER_H_ |
13 | 13 |
14 #include "webrtc/base/constructormagic.h" | 14 #include "webrtc/base/constructormagic.h" |
15 #include "webrtc/base/scoped_ptr.h" | 15 #include "webrtc/base/scoped_ptr.h" |
16 #include "webrtc/base/thread_checker.h" | 16 #include "webrtc/base/thread_checker.h" |
17 #include "webrtc/modules/audio_coding/main/acm2/codec_owner.h" | 17 #include "webrtc/modules/audio_coding/main/acm2/codec_owner.h" |
18 #include "webrtc/modules/audio_coding/main/interface/audio_coding_module_typedef
s.h" | 18 #include "webrtc/modules/audio_coding/main/interface/audio_coding_module_typedef
s.h" |
19 #include "webrtc/common_types.h" | 19 #include "webrtc/common_types.h" |
20 | 20 |
21 namespace webrtc { | 21 namespace webrtc { |
22 | 22 |
23 class AudioDecoder; | 23 class AudioDecoder; |
24 class AudioEncoder; | 24 class AudioEncoder; |
25 class AudioEncoderMutable; | 25 class AudioEncoderMutable; |
26 | 26 |
27 namespace acm2 { | 27 namespace acm2 { |
28 | 28 |
| 29 class DelayedLogger; |
| 30 |
29 class CodecManager final { | 31 class CodecManager final { |
30 public: | 32 public: |
31 CodecManager(); | 33 CodecManager(DelayedLogger* bitrate_logger); |
32 ~CodecManager(); | 34 ~CodecManager(); |
33 | 35 |
34 int RegisterEncoder(const CodecInst& send_codec); | 36 int RegisterEncoder(const CodecInst& send_codec); |
35 | 37 |
36 void RegisterEncoder(AudioEncoderMutable* external_speech_encoder); | 38 void RegisterEncoder(AudioEncoderMutable* external_speech_encoder); |
37 | 39 |
38 int GetCodecInst(CodecInst* current_codec) const; | 40 int GetCodecInst(CodecInst* current_codec) const; |
39 | 41 |
40 bool SetCopyRed(bool enable); | 42 bool SetCopyRed(bool enable); |
41 | 43 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 uint8_t cng_swb_pltype_; | 77 uint8_t cng_swb_pltype_; |
76 uint8_t cng_fb_pltype_; | 78 uint8_t cng_fb_pltype_; |
77 uint8_t red_nb_pltype_; | 79 uint8_t red_nb_pltype_; |
78 bool stereo_send_; | 80 bool stereo_send_; |
79 bool dtx_enabled_; | 81 bool dtx_enabled_; |
80 ACMVADMode vad_mode_; | 82 ACMVADMode vad_mode_; |
81 CodecInst send_codec_inst_; | 83 CodecInst send_codec_inst_; |
82 bool red_enabled_; | 84 bool red_enabled_; |
83 bool codec_fec_enabled_; | 85 bool codec_fec_enabled_; |
84 CodecOwner codec_owner_; | 86 CodecOwner codec_owner_; |
| 87 DelayedLogger* const bitrate_logger_; |
85 | 88 |
86 DISALLOW_COPY_AND_ASSIGN(CodecManager); | 89 DISALLOW_COPY_AND_ASSIGN(CodecManager); |
87 }; | 90 }; |
88 | 91 |
89 } // namespace acm2 | 92 } // namespace acm2 |
90 } // namespace webrtc | 93 } // namespace webrtc |
91 #endif // WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_CODEC_MANAGER_H_ | 94 #endif // WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_CODEC_MANAGER_H_ |
OLD | NEW |