AEC3: Enable usage of external delay estimator
This change makes it possible to disable AEC3's render delay controller and delay estimator, and instead rely on an external delay estimator. The delay is communicated via SetAudioBufferDelay. When the feature is enabled, no echo removal will be performed until the first delay is provided. The delay is Bug: b/130016532 Change-Id: I16643109d78d770ff1d2713cf247b0b9cce1bc1c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131327 Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org> Reviewed-by: Per Åhgren <peah@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27467}
This commit is contained in:
committed by
Commit Bot
parent
a553c72659
commit
8f32b6c18c
@ -48,7 +48,10 @@ class RenderDelayBuffer {
|
||||
|
||||
// Sets the buffer delay and returns a bool indicating whether the delay
|
||||
// changed.
|
||||
virtual bool SetDelay(size_t delay) = 0;
|
||||
virtual bool AlignFromDelay(size_t delay) = 0;
|
||||
|
||||
// Sets the buffer delay from the most recently reported external delay.
|
||||
virtual void AlignFromExternalDelay() = 0;
|
||||
|
||||
// Gets the buffer delay.
|
||||
virtual size_t Delay() const = 0;
|
||||
@ -67,6 +70,10 @@ class RenderDelayBuffer {
|
||||
|
||||
// Provides an optional external estimate of the audio buffer delay.
|
||||
virtual void SetAudioBufferDelay(size_t delay_ms) = 0;
|
||||
|
||||
// Returns whether an external delay estimate has been reported via
|
||||
// SetAudioBufferDelay.
|
||||
virtual bool HasReceivedBufferDelay() = 0;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user