Fix the video buffer size should take rtt into consideration
BUG=webrtc:8010 Review-Url: https://codereview.webrtc.org/2980413002 Cr-Commit-Position: refs/heads/master@{#19285}
This commit is contained in:
@ -147,6 +147,8 @@ FrameBuffer::ReturnReason FrameBuffer::NextFrame(
|
||||
float rtt_mult = protection_mode_ == kProtectionNackFEC ? 0.0 : 1.0;
|
||||
timing_->SetJitterDelay(jitter_estimator_->GetJitterEstimate(rtt_mult));
|
||||
timing_->UpdateCurrentDelay(frame->RenderTime(), now_ms);
|
||||
} else {
|
||||
jitter_estimator_->FrameNacked();
|
||||
}
|
||||
|
||||
// Gracefully handle bad RTP timestamps and render time issues.
|
||||
@ -247,6 +249,11 @@ void FrameBuffer::Stop() {
|
||||
new_continuous_frame_event_.Set();
|
||||
}
|
||||
|
||||
void FrameBuffer::UpdateRtt(int64_t rtt_ms) {
|
||||
rtc::CritScope lock(&crit_);
|
||||
jitter_estimator_->UpdateRtt(rtt_ms);
|
||||
}
|
||||
|
||||
bool FrameBuffer::ValidReferences(const FrameObject& frame) const {
|
||||
for (size_t i = 0; i < frame.num_references; ++i) {
|
||||
if (AheadOrAt(frame.references[i], frame.picture_id))
|
||||
|
||||
@ -74,6 +74,9 @@ class FrameBuffer {
|
||||
// return immediately.
|
||||
void Stop();
|
||||
|
||||
// Updates the RTT for jitter buffer estimation.
|
||||
void UpdateRtt(int64_t rtt_ms);
|
||||
|
||||
private:
|
||||
struct FrameKey {
|
||||
FrameKey() : picture_id(0), spatial_layer(0) {}
|
||||
|
||||
Reference in New Issue
Block a user