From 918d2e710fc12ba9f489d8344549deb511f85ac9 Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Sat, 3 Sep 2011 14:37:40 +0100 Subject: [PATCH] mpegdemux: fix some more video freezing There was a second threshold, which apparently needs to be smaller than the first, though I'm not certain of it as I don't understand yet this nest of wtf that is the mpeg demuxer timing logic. Fixes video freezing on one (corrupted) MPEG sample. It would previously never think it was out of the discontinuity, and would push buffers with no timestamp. Now this took me more than a day's poking at the thing, for just one constant change, and I'm scared to have to touch this again :S https://bugzilla.gnome.org/show_bug.cgi?id=655804 --- gst/mpegdemux/gstmpegtsdemux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c index f720c07740..ad96ef792d 100644 --- a/gst/mpegdemux/gstmpegtsdemux.c +++ b/gst/mpegdemux/gstmpegtsdemux.c @@ -1777,9 +1777,9 @@ gst_mpegts_demux_parse_adaptation_field (GstMpegTSStream * stream, stream->last_PCR, GST_TIME_ARGS (MPEGTIME_TO_GSTTIME (stream->last_PCR))); /* pcr has been converted into units of 90Khz ticks - * so assume discont if last pcr was > 900000 (10 second) lower */ + * so assume discont if last pcr was > 90000 (1 second) lower */ if (stream->last_PCR != -1 && - (pcr - stream->last_PCR > 900000 || pcr < stream->last_PCR)) { + (pcr - stream->last_PCR > 90000 || pcr < stream->last_PCR)) { GstClockTimeDiff base_time_difference; GST_DEBUG_OBJECT (demux,