mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-01 13:08:49 +00:00
mxfdemux: Only pre-set the track position if it's for the same body/index SID
This commit is contained in:
parent
1d862db9c1
commit
39aa2aaa39
1 changed files with 7 additions and 4 deletions
|
@ -1866,10 +1866,12 @@ gst_mxf_demux_handle_generic_container_essence_element (GstMXFDemux * demux,
|
|||
|
||||
GST_DEBUG_OBJECT (demux,
|
||||
"Pushing buffer of size %" G_GSIZE_FORMAT " for track %u: timestamp %"
|
||||
GST_TIME_FORMAT " duration %" GST_TIME_FORMAT,
|
||||
gst_buffer_get_size (outbuf), pad->material_track->parent.track_id,
|
||||
GST_TIME_FORMAT " duration %" GST_TIME_FORMAT " position %"
|
||||
G_GUINT64_FORMAT, gst_buffer_get_size (outbuf),
|
||||
pad->material_track->parent.track_id,
|
||||
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)),
|
||||
GST_TIME_ARGS (GST_BUFFER_DURATION (outbuf)));
|
||||
GST_TIME_ARGS (GST_BUFFER_DURATION (outbuf)),
|
||||
pad->current_essence_track_position);
|
||||
|
||||
if (pad->discont) {
|
||||
GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DISCONT);
|
||||
|
@ -2760,7 +2762,8 @@ from_index:
|
|||
GstMXFDemuxEssenceTrack *t =
|
||||
&g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
||||
|
||||
if (index_start_position != -1)
|
||||
if (index_start_position != -1 && t->body_sid == etrack->body_sid
|
||||
&& t->index_sid == etrack->index_sid)
|
||||
t->position = index_start_position;
|
||||
else
|
||||
t->position = (demux->offset == demux->run_in) ? 0 : -1;
|
||||
|
|
Loading…
Reference in a new issue