Add max pre-decode queue size threshold for pacing
When pacing is enabled for the low latency rendering path, frames are sent to the decoder in regular intervals. In case of a jitter, these frames intervals could add up to create a large latency. Hence, disable frame pacing if the pre-decode queue grows beyond the threshold. The threshold for when to disable frame pacing is set through a field trial. The default value is high enough so that the behavior is not changed unless the field trial is specified. Bug: chromium:1237402 Change-Id: I901fd579f68da286eca3d654118f60d3c55e21ce Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228241 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34705}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
5653c95ca2
commit
2ddc39e2b9
@ -25,6 +25,7 @@
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/utility/decoded_frames_history.h"
|
||||
#include "rtc_base/event.h"
|
||||
#include "rtc_base/experiments/field_trial_parser.h"
|
||||
#include "rtc_base/experiments/rtt_mult_experiment.h"
|
||||
#include "rtc_base/numerics/sequence_number_util.h"
|
||||
#include "rtc_base/synchronization/mutex.h"
|
||||
@ -188,6 +189,13 @@ class FrameBuffer {
|
||||
|
||||
// rtt_mult experiment settings.
|
||||
const absl::optional<RttMultExperiment::Settings> rtt_mult_settings_;
|
||||
|
||||
// Maximum number of frames in the decode queue to allow pacing. If the
|
||||
// queue grows beyond the max limit, pacing will be disabled and frames will
|
||||
// be pushed to the decoder as soon as possible. This only has an effect
|
||||
// when the low-latency rendering path is active, which is indicated by
|
||||
// the frame's render time == 0.
|
||||
FieldTrialParameter<unsigned> zero_playout_delay_max_decode_queue_size_;
|
||||
};
|
||||
|
||||
} // namespace video_coding
|
||||
|
||||
Reference in New Issue
Block a user