OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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_processing/gain_control_for_experimental_agc.h" | 11 #include "webrtc/modules/audio_processing/gain_control_for_experimental_agc.h" |
12 | 12 |
13 #include "webrtc/base/checks.h" | 13 #include "webrtc/base/checks.h" |
14 #include "webrtc/base/criticalsection.h" | 14 #include "webrtc/base/criticalsection.h" |
15 #include "webrtc/modules/audio_processing/include/audio_processing.h" | 15 #include "webrtc/modules/audio_processing/include/audio_processing.h" |
| 16 #include "webrtc/modules/audio_processing/logging/apm_data_dumper.h" |
16 | 17 |
17 namespace webrtc { | 18 namespace webrtc { |
18 | 19 |
| 20 int GainControlForExperimentalAgc::instance_counter_ = 0; |
| 21 |
19 GainControlForExperimentalAgc::GainControlForExperimentalAgc( | 22 GainControlForExperimentalAgc::GainControlForExperimentalAgc( |
20 GainControl* gain_control, | 23 GainControl* gain_control, |
21 rtc::CriticalSection* crit_capture) | 24 rtc::CriticalSection* crit_capture) |
22 : real_gain_control_(gain_control), | 25 : data_dumper_(new ApmDataDumper(instance_counter_)), |
| 26 real_gain_control_(gain_control), |
23 volume_(0), | 27 volume_(0), |
24 crit_capture_(crit_capture) {} | 28 crit_capture_(crit_capture) { |
| 29 instance_counter_++; |
| 30 } |
| 31 |
| 32 GainControlForExperimentalAgc::~GainControlForExperimentalAgc() = default; |
25 | 33 |
26 int GainControlForExperimentalAgc::Enable(bool enable) { | 34 int GainControlForExperimentalAgc::Enable(bool enable) { |
27 return real_gain_control_->Enable(enable); | 35 return real_gain_control_->Enable(enable); |
28 } | 36 } |
29 | 37 |
30 bool GainControlForExperimentalAgc::is_enabled() const { | 38 bool GainControlForExperimentalAgc::is_enabled() const { |
31 return real_gain_control_->is_enabled(); | 39 return real_gain_control_->is_enabled(); |
32 } | 40 } |
33 | 41 |
34 int GainControlForExperimentalAgc::set_stream_analog_level(int level) { | 42 int GainControlForExperimentalAgc::set_stream_analog_level(int level) { |
35 rtc::CritScope cs_capture(crit_capture_); | 43 rtc::CritScope cs_capture(crit_capture_); |
| 44 data_dumper_->DumpRaw("experimental_gain_control_set_stream_analog_level", 1, |
| 45 &level); |
36 volume_ = level; | 46 volume_ = level; |
37 return AudioProcessing::kNoError; | 47 return AudioProcessing::kNoError; |
38 } | 48 } |
39 | 49 |
40 int GainControlForExperimentalAgc::stream_analog_level() { | 50 int GainControlForExperimentalAgc::stream_analog_level() { |
41 rtc::CritScope cs_capture(crit_capture_); | 51 rtc::CritScope cs_capture(crit_capture_); |
| 52 data_dumper_->DumpRaw("experimental_gain_control_stream_analog_level", 1, |
| 53 &volume_); |
42 return volume_; | 54 return volume_; |
43 } | 55 } |
44 | 56 |
45 int GainControlForExperimentalAgc::set_mode(Mode mode) { | 57 int GainControlForExperimentalAgc::set_mode(Mode mode) { |
46 return AudioProcessing::kNoError; | 58 return AudioProcessing::kNoError; |
47 } | 59 } |
48 | 60 |
49 GainControl::Mode GainControlForExperimentalAgc::mode() const { | 61 GainControl::Mode GainControlForExperimentalAgc::mode() const { |
50 return GainControl::kAdaptiveAnalog; | 62 return GainControl::kAdaptiveAnalog; |
51 } | 63 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 void GainControlForExperimentalAgc::SetMicVolume(int volume) { | 106 void GainControlForExperimentalAgc::SetMicVolume(int volume) { |
95 rtc::CritScope cs_capture(crit_capture_); | 107 rtc::CritScope cs_capture(crit_capture_); |
96 volume_ = volume; | 108 volume_ = volume; |
97 } | 109 } |
98 | 110 |
99 int GainControlForExperimentalAgc::GetMicVolume() { | 111 int GainControlForExperimentalAgc::GetMicVolume() { |
100 rtc::CritScope cs_capture(crit_capture_); | 112 rtc::CritScope cs_capture(crit_capture_); |
101 return volume_; | 113 return volume_; |
102 } | 114 } |
103 | 115 |
| 116 void GainControlForExperimentalAgc::Initialize() { |
| 117 data_dumper_->InitiateNewSetOfRecordings(); |
| 118 } |
| 119 |
104 } // namespace webrtc | 120 } // namespace webrtc |
OLD | NEW |