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 --- gst/mpegdemux/gstmpegdemux.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gst') 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