Index: webrtc/modules/audio_processing/gain_control_impl.h |
diff --git a/webrtc/modules/audio_processing/gain_control_impl.h b/webrtc/modules/audio_processing/gain_control_impl.h |
index b5fe1e33ec4d39ad744134d82d1008b7816024ba..6841d5d4f508faedb27d28ab67756774505c8928 100644 |
--- a/webrtc/modules/audio_processing/gain_control_impl.h |
+++ b/webrtc/modules/audio_processing/gain_control_impl.h |
@@ -27,16 +27,15 @@ class AudioBuffer; |
class GainControlImpl : public GainControl { |
public: |
- GainControlImpl(const AudioProcessing* apm, |
- rtc::CriticalSection* crit_render, |
+ GainControlImpl(rtc::CriticalSection* crit_render, |
rtc::CriticalSection* crit_capture); |
~GainControlImpl() override; |
int ProcessRenderAudio(AudioBuffer* audio); |
int AnalyzeCaptureAudio(AudioBuffer* audio); |
- int ProcessCaptureAudio(AudioBuffer* audio); |
+ int ProcessCaptureAudio(AudioBuffer* audio, bool stream_has_echo); |
- void Initialize(); |
+ void Initialize(size_t num_proc_channels, int sample_rate_hz); |
// GainControl implementation. |
bool is_enabled() const override; |
@@ -64,14 +63,9 @@ class GainControlImpl : public GainControl { |
int analog_level_maximum() const override; |
bool stream_is_saturated() const override; |
- size_t num_handles_required() const; |
- |
void AllocateRenderQueue(); |
int Configure(); |
- // Not guarded as its public API is thread safe. |
- const AudioProcessing* apm_; |
- |
rtc::CriticalSection* const crit_render_ ACQUIRED_BEFORE(crit_capture_); |
rtc::CriticalSection* const crit_capture_; |
@@ -99,6 +93,9 @@ class GainControlImpl : public GainControl { |
std::vector<std::unique_ptr<GainController>> gain_controllers_; |
+ rtc::Optional<size_t> num_proc_channels_ GUARDED_BY(crit_capture_); |
+ rtc::Optional<int> sample_rate_hz_ GUARDED_BY(crit_capture_); |
+ |
RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(GainControlImpl); |
}; |
} // namespace webrtc |