From 37167605cdeaf7c9dcb39c80c0c0efb7f589b11f Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Thu, 16 Oct 2008 09:18:31 +0000 Subject: gst/mpegdemux/gstmpegdemux.c: Make sure the mpegpsdemux element creates valid newsegment events. Original commit message from CVS: * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data): Make sure the mpegpsdemux element creates valid newsegment events. Fixes #556428 --- ChangeLog | 6 ++++++ gst/mpegdemux/gstmpegdemux.c | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6cefd99d..ca84492d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-10-16 Edward Hervey + + * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data): + Make sure the mpegpsdemux element creates valid newsegment events. + Fixes #556428 + 2008-10-16 Zaheer Abbas Merali patch by: Sebastian Pölsterl diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c index d0926f70..2b8168ae 100644 --- a/gst/mpegdemux/gstmpegdemux.c +++ b/gst/mpegdemux/gstmpegdemux.c @@ -453,12 +453,18 @@ gst_flups_demux_send_data (GstFluPSDemux * demux, GstFluPSStream * stream, gint64 time, start, stop; GstEvent *newsegment; - start = demux->base_time + demux->src_segment.start; + if (GST_CLOCK_TIME_IS_VALID (demux->base_time) && + GST_CLOCK_TIME_IS_VALID (demux->src_segment.start)) + start = demux->base_time + demux->src_segment.start; + else + start = 0; + if (timestamp != GST_CLOCK_TIME_NONE && GST_CLOCK_DIFF (start, timestamp) > GST_SECOND) start = timestamp; - if (demux->src_segment.stop != -1) + if (GST_CLOCK_TIME_IS_VALID (demux->src_segment.stop) && + GST_CLOCK_TIME_IS_VALID (demux->base_time)) stop = demux->base_time + demux->src_segment.stop; else stop = -1; -- cgit v1.2.1