Allow Vp8FrameBufferController::UpdateConfiguration to reset set of overrides

Bug: webrtc:10737
Change-Id: Ifdf82f140465d114300eda1e3ba1a26c70aaef76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141663
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28247}
This commit is contained in:
Elad Alon
2019-06-12 11:29:04 +02:00
committed by Commit Bot
parent a9952cb0c4
commit 5cf390386b
2 changed files with 10 additions and 3 deletions

View File

@ -89,6 +89,9 @@ struct Vp8EncoderConfig {
// Error resilience mode.
absl::optional<uint32_t> g_error_resilient;
// If set to true, all previous configuration overrides should be reset.
bool reset_previous_configuration_overrides = false;
};
// This interface defines a way of delegating the logic of buffer management.
@ -125,9 +128,8 @@ class Vp8FrameBufferController {
// Called by the encoder before encoding a frame. Returns a set of overrides
// the controller wishes to enact in the encoder's configuration.
// If a value is not overridden, previous overrides are still in effect.
// (It is therefore not possible to go from a specific override to
// no-override. Once the controller takes responsibility over a value, it
// must maintain responsibility for it.)
// However, if |Vp8EncoderConfig::reset_previous_configuration_overrides|
// is set to |true|, all previous overrides are reset.
virtual Vp8EncoderConfig UpdateConfiguration(size_t stream_index) = 0;
// Returns the recommended VP8 encode flags needed.