Enable congestion window pushback to reduce bitrate by only drop video frames.
With current congestion window pushback, when congestion window is filling up, it will reduce bitrate directly and encoder may reduce encode quality, resolution, or framerate to adapt to the allocated bitrate, the behavior is depending on the degradation preference. This change enable congestion window to only drop frames to reduce bitrate (when needed) instead of reduce general bitrate allocation. Bug: webrtc:11334 Change-Id: I9cf5c20a0858c4d07d006942abe72aa5e1f7cb38 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168059 Commit-Queue: Ying Wang <yinwa@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30483}
This commit is contained in:
@ -25,6 +25,7 @@ struct CongestionWindowConfig {
|
||||
absl::optional<int> queue_size_ms;
|
||||
absl::optional<int> min_bitrate_bps;
|
||||
absl::optional<DataSize> initial_data_window;
|
||||
bool drop_frame_only = false;
|
||||
std::unique_ptr<StructParametersParser> Parser();
|
||||
static CongestionWindowConfig Parse(absl::string_view config);
|
||||
};
|
||||
@ -66,6 +67,7 @@ class RateControlSettings final {
|
||||
bool UseCongestionWindow() const;
|
||||
int64_t GetCongestionWindowAdditionalTimeMs() const;
|
||||
bool UseCongestionWindowPushback() const;
|
||||
bool UseCongestionWindowDropFrameOnly() const;
|
||||
uint32_t CongestionWindowMinPushbackTargetBitrateBps() const;
|
||||
absl::optional<DataSize> CongestionWindowInitialDataWindow() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user