tsdemux: Take into account upstream newsegment events

If the incoming newsegment event was in time, use that position value
for the downstream newsegments.
This commit is contained in:
Edward Hervey 2011-08-01 18:49:55 +02:00
parent 5572e63858
commit 5c77682dab

View file

@ -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;