From 554d158ce6f759695525e4042d36967a5027754c Mon Sep 17 00:00:00 2001 From: "stefan@webrtc.org" Date: Wed, 11 Sep 2013 08:45:26 +0000 Subject: [PATCH] Reset jitter buffer and timing if frames are getting too much delay. BUG=chromium/263867 TEST=trybots R=mikhal@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2177005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4721 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/modules/video_coding/main/source/receiver.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/webrtc/modules/video_coding/main/source/receiver.cc b/webrtc/modules/video_coding/main/source/receiver.cc index 05ac4b35e7..058cd823b1 100644 --- a/webrtc/modules/video_coding/main/source/receiver.cc +++ b/webrtc/modules/video_coding/main/source/receiver.cc @@ -156,11 +156,12 @@ VCMEncodedFrame* VCMReceiver::FrameForDecoding( // Assume that render timing errors are due to changes in the video stream. if (next_render_time_ms < 0) { timing_error = true; - } else if (next_render_time_ms < now_ms - max_video_delay_ms_) { + } else if (abs(next_render_time_ms - now_ms) > max_video_delay_ms_) { WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideoCoding, VCMId(vcm_id_, receiver_id_), - "This frame should have been rendered more than %u ms ago." - "Flushing jitter buffer and resetting timing.", + "This frame is out of our delay bounds, resetting jitter " + "buffer: %d > %d", + static_cast(abs(next_render_time_ms - now_ms)), max_video_delay_ms_); timing_error = true; } else if (static_cast(timing_->TargetVideoDelay()) >