From c229a87ac3e6bfb767004924b884f63625e4f368 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Sun, 29 Dec 2013 16:00:01 +0100 Subject: [PATCH] mpegtspacketizer: Fix ts_to_offset beyond last observed PCR The requested TS might be beyond the last observed PCR. In order to calculate a coherent offset, we need to use the last and previous-to-last groups. https://bugzilla.gnome.org/show_bug.cgi?id=721035 --- gst/mpegtsdemux/mpegtspacketizer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gst/mpegtsdemux/mpegtspacketizer.c b/gst/mpegtsdemux/mpegtspacketizer.c index ec7810f3ff..c258bb9f9c 100644 --- a/gst/mpegtsdemux/mpegtspacketizer.c +++ b/gst/mpegtsdemux/mpegtspacketizer.c @@ -2235,6 +2235,11 @@ mpegts_packetizer_ts_to_offset (MpegTSPacketizer2 * packetizer, break; } + if (tmp->next == NULL) { + GST_DEBUG ("pcr is beyond last group"); + break; + } + prevgroup = nextgroup; /* Maybe it's in this group */