mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 23:58:17 +00:00
tsdemux: send new segment when a stream is added
This will happen when the PMT changes, replacing streams with new ones. In that case, we need to accumulate the running time from the previous chain in the segment base. https://bugzilla.gnome.org/show_bug.cgi?id=745102
This commit is contained in:
parent
fc2460b331
commit
ade79a9ad2
1 changed files with 2 additions and 1 deletions
|
@ -1399,6 +1399,7 @@ gst_ts_demux_stream_added (MpegTSBase * base, MpegTSBaseStream * bstream,
|
|||
stream->active = FALSE;
|
||||
|
||||
stream->need_newsegment = TRUE;
|
||||
demux->reset_segment = TRUE;
|
||||
stream->needs_keyframe = FALSE;
|
||||
stream->discont = TRUE;
|
||||
stream->pts = GST_CLOCK_TIME_NONE;
|
||||
|
@ -1957,7 +1958,7 @@ calculate_and_push_newsegment (GstTSDemux * demux, TSDemuxStream * stream)
|
|||
demux->segment = base->segment;
|
||||
} else {
|
||||
/* Start from the first ts/pts */
|
||||
GstClockTime base = demux->segment.base;
|
||||
GstClockTime base = base = demux->segment.position - demux->segment.start;
|
||||
gst_segment_init (&demux->segment, GST_FORMAT_TIME);
|
||||
demux->segment.start = firstts;
|
||||
demux->segment.stop = GST_CLOCK_TIME_NONE;
|
||||
|
|
Loading…
Reference in a new issue