Revert "Remove the HighPassFilter interface"
This reverts commit e2405c1a823f3baf90a9c72f2e058f91eb659c20. Reason for revert: Breaks Chrome compile: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8932502586827763408/+/steps/compile__with_patch_/0/stdout Original change's description: > Remove the HighPassFilter interface > > The functionality remains unaffected. > Filter toggling is still available via webrtc::AudioProcessing::Config. > Example: > webrtc::AudioProcessing::Config config = apm.GetConfig(); > // Read settings > if (config.high_pass_filter.enabled) { ... } > // Apply setting > config.high_pass_filter.enabled = true; > apm.ApplyConfig(); > > Bug: webrtc:9535 > Change-Id: Ib4c4b04078bbb490ebdab9721b8c7811d73777a8 > Reviewed-on: https://webrtc-review.googlesource.com/c/102541 > Commit-Queue: Sam Zackrisson <saza@webrtc.org> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org> > Reviewed-by: Per Åhgren <peah@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#25198} TBR=solenberg@webrtc.org,saza@webrtc.org,peah@webrtc.org Change-Id: Ieb34d5c573c4ab22eefbb54aeaa2f72844740b89 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9535 Reviewed-on: https://webrtc-review.googlesource.com/c/106421 Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org> Commit-Queue: Niklas Enbom <niklas.enbom@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25215}
This commit is contained in:
@ -49,6 +49,7 @@ class ProcessingConfig;
|
||||
|
||||
class EchoDetector;
|
||||
class GainControl;
|
||||
class HighPassFilter;
|
||||
class LevelEstimator;
|
||||
class NoiseSuppression;
|
||||
class CustomAudioAnalyzer;
|
||||
@ -597,6 +598,8 @@ class AudioProcessing : public rtc::RefCountInterface {
|
||||
// NULL. The pointers will be valid for the lifetime of the APM instance.
|
||||
// The memory for these objects is entirely managed internally.
|
||||
virtual GainControl* gain_control() const = 0;
|
||||
// TODO(peah): Deprecate this API call.
|
||||
virtual HighPassFilter* high_pass_filter() const = 0;
|
||||
virtual LevelEstimator* level_estimator() const = 0;
|
||||
virtual NoiseSuppression* noise_suppression() const = 0;
|
||||
virtual VoiceDetection* voice_detection() const = 0;
|
||||
@ -786,6 +789,17 @@ class ProcessingConfig {
|
||||
StreamConfig streams[StreamName::kNumStreamNames];
|
||||
};
|
||||
|
||||
// TODO(peah): Remove this interface.
|
||||
// A filtering component which removes DC offset and low-frequency noise.
|
||||
// Recommended to be enabled on the client-side.
|
||||
class HighPassFilter {
|
||||
public:
|
||||
virtual int Enable(bool enable) = 0;
|
||||
virtual bool is_enabled() const = 0;
|
||||
|
||||
virtual ~HighPassFilter() {}
|
||||
};
|
||||
|
||||
// An estimation component used to retrieve level metrics.
|
||||
class LevelEstimator {
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user