isomp4: Try to seek upstream before processing seek push event

When it receives a seek in push mode, the qtdemux should first try to push the event upstream, and only if upstream fails fall back to
its own seek logic.
This commit is contained in:
David Corvoysier 2012-06-28 11:29:55 +02:00 committed by Sebastian Dröge
parent 998534a2a1
commit c06cb7c145

View file

@ -1488,8 +1488,11 @@ gst_qtdemux_handle_src_event (GstPad * pad, GstObject * parent,
} }
if (qtdemux->pullbased) { if (qtdemux->pullbased) {
res = gst_qtdemux_do_seek (qtdemux, pad, event); res = gst_qtdemux_do_seek (qtdemux, pad, event);
} else if (qtdemux->state == QTDEMUX_STATE_MOVIE && qtdemux->n_streams && } else if (gst_pad_push_event (qtdemux->sinkpad, gst_event_ref (event))) {
!qtdemux->fragmented) { GST_DEBUG_OBJECT (qtdemux, "Upstream successfully seeked");
res = TRUE;
} else if (qtdemux->state == QTDEMUX_STATE_MOVIE && qtdemux->n_streams
&& !qtdemux->fragmented) {
res = gst_qtdemux_do_push_seek (qtdemux, pad, event); res = gst_qtdemux_do_push_seek (qtdemux, pad, event);
} else { } else {
GST_DEBUG_OBJECT (qtdemux, GST_DEBUG_OBJECT (qtdemux,