From: Edward Hervey Date: Mon, 1 Aug 2011 16:49:55 +0000 (+0200) Subject: tsdemux: Take into account upstream newsegment events X-Git-Tag: RELEASE-0.10.23~727 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c77682dabf2a289d7e8cdced379f85aeb0f3192;p=platform%2Fupstream%2Fgst-plugins-bad.git tsdemux: Take into account upstream newsegment events If the incoming newsegment event was in time, use that position value for the downstream newsegments. --- diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c index fc0df38..e859ea9 100644 --- a/gst/mpegtsdemux/tsdemux.c +++ b/gst/mpegtsdemux/tsdemux.c @@ -2066,6 +2066,19 @@ calculate_and_push_newsegment (GstTSDemux * demux, TSDemuxStream * stream) /* FIXME : We're just ignore the upstream format for the time being */ /* FIXME : We should use base->segment.format and a upstream latency query * to decide if we need to use live values or not */ + GST_DEBUG ("push-based. base Segment start:%" GST_TIME_FORMAT " duration:%" + GST_TIME_FORMAT ", time:%" GST_TIME_FORMAT, + GST_TIME_ARGS (base->segment.start), + GST_TIME_ARGS (base->segment.duration), + GST_TIME_ARGS (base->segment.time)); + GST_DEBUG ("push-based. demux Segment start:%" GST_TIME_FORMAT " duration:%" + GST_TIME_FORMAT ", time:%" GST_TIME_FORMAT, + GST_TIME_ARGS (demux->segment.start), + GST_TIME_ARGS (demux->segment.duration), + GST_TIME_ARGS (demux->segment.time)); + + if (demux->segment.time == 0 && base->segment.format == GST_FORMAT_TIME) + demux->segment.time = base->segment.time; start = firstpts; stop = GST_CLOCK_TIME_NONE;