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
diff --git a/webrtc/modules/video_coding/main/source/receiver.cc b/webrtc/modules/video_coding/main/source/receiver.cc
index 05ac4b3..058cd82 100644
--- a/webrtc/modules/video_coding/main/source/receiver.cc
+++ b/webrtc/modules/video_coding/main/source/receiver.cc
@@ -156,11 +156,12 @@
// 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<int>(abs(next_render_time_ms - now_ms)),
max_video_delay_ms_);
timing_error = true;
} else if (static_cast<int>(timing_->TargetVideoDelay()) >