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

Unified Diff: webrtc/modules/audio_processing/agc/agc_manager_direct.h

Issue 1299143003: Remove AgcManager. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webrtc/tools/agc/agc_harness.cc » ('j') | webrtc/tools/agc/agc_manager_unittest.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/audio_processing/agc/agc_manager_direct.h
diff --git a/webrtc/modules/audio_processing/agc/agc_manager_direct.h b/webrtc/modules/audio_processing/agc/agc_manager_direct.h
index d12acf30d377b0c7344cc2c1106d8fcf8993dff9..fadab36b4096a51878c85919f7121b841509a6e8 100644
--- a/webrtc/modules/audio_processing/agc/agc_manager_direct.h
+++ b/webrtc/modules/audio_processing/agc/agc_manager_direct.h
@@ -21,9 +21,8 @@ class DebugFile;
class GainControl;
// Callbacks that need to be injected into AgcManagerDirect to read and control
-// the volume values. They have different behavior if they are called from
-// AgcManager or AudioProcessing. This is done to remove the VoiceEngine
-// dependency in AgcManagerDirect.
+// the volume values. This is done to remove the VoiceEngine dependency in
+// AgcManagerDirect.
class VolumeCallbacks {
Andrew MacDonald 2015/08/19 17:58:39 Not for this CL, but do we need to use this callba
aluebs-webrtc 2015/09/28 22:51:08 Added TODO. But how would you imagine it to work?
Andrew MacDonald 2015/09/29 05:33:34 Instead of triggering a callback on volume change,
aluebs-webrtc 2015/09/29 18:10:39 And let the APM update the volume in the GainContr
Andrew MacDonald 2015/09/29 18:17:11 These callbacks don't get delivered to voice engin
aluebs-webrtc 2015/09/29 19:10:34 Ok, I think I get your point but we can discuss wh
public:
virtual ~VolumeCallbacks() {}
@@ -33,8 +32,7 @@ class VolumeCallbacks {
// Direct interface to use AGC to set volume and compression values.
// AudioProcessing uses this interface directly to integrate the callback-less
-// AGC. AgcManager delegates most of its calls here. See agc_manager.h for
-// undocumented methods.
+// AGC.
//
// This class is not thread-safe.
class AgcManagerDirect {
Andrew MacDonald 2015/08/19 17:58:39 final, and DISALLOW_COPY_AND_ASSIGN
aluebs-webrtc 2015/09/28 22:51:08 Done.
@@ -60,6 +58,15 @@ class AgcManagerDirect {
int samples_per_channel);
void Process(const int16_t* audio, int length, int sample_rate_hz);
+ // Call when the capture stream has been muted/unmuted. This causes the
+ // manager to disregard all incoming audio; chances are good it's background
+ // noise to which we'd like to avoid adapting.
+ void SetCaptureMuted(bool muted);
+ bool capture_muted() { return capture_muted_; }
+
+ float voice_probability();
+
+ private:
// Sets a new microphone level, after first checking that it hasn't been
// updated by the user, in which case no action is taken.
void SetLevel(int new_level);
@@ -69,12 +76,6 @@ class AgcManagerDirect {
// |kClippedLevelMin|.
void SetMaxLevel(int level);
- void SetCaptureMuted(bool muted);
- bool capture_muted() { return capture_muted_; }
-
- float voice_probability();
-
- private:
int CheckVolumeAndReset();
void UpdateGain();
void UpdateCompressor();
« no previous file with comments | « no previous file | webrtc/tools/agc/agc_harness.cc » ('j') | webrtc/tools/agc/agc_manager_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698