asfdemux: Only forward SEEK event when in push mode.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/48>
This commit is contained in:
Derek Lesho 2020-04-17 11:34:16 -05:00 committed by Tim-Philipp Müller
parent d454f95a09
commit c9e7490f46

View file

@ -672,11 +672,6 @@ gst_asf_demux_handle_seek_event (GstASFDemux * demux, GstEvent * event)
return FALSE; return FALSE;
} }
/* upstream might handle TIME seek, e.g. mms or rtsp, or not, e.g. http,
* so first try to let it handle the seek event. */
if (gst_pad_push_event (demux->sinkpad, gst_event_ref (event)))
return TRUE;
if (G_UNLIKELY (demux->seekable == FALSE || demux->packet_size == 0 || if (G_UNLIKELY (demux->seekable == FALSE || demux->packet_size == 0 ||
demux->num_packets == 0 || demux->play_time == 0)) { demux->num_packets == 0 || demux->play_time == 0)) {
GST_LOG_OBJECT (demux, "stream is not seekable"); GST_LOG_OBJECT (demux, "stream is not seekable");
@ -707,6 +702,11 @@ gst_asf_demux_handle_seek_event (GstASFDemux * demux, GstEvent * event)
next = after && !before; next = after && !before;
if (G_UNLIKELY (demux->streaming)) { if (G_UNLIKELY (demux->streaming)) {
/* upstream might handle TIME seek, e.g. mms or rtsp, or not, e.g. http,
* so first try to let it handle the seek event. */
if (gst_pad_push_event (demux->sinkpad, gst_event_ref (event)))
return TRUE;
/* support it safely needs more segment handling, e.g. closing etc */ /* support it safely needs more segment handling, e.g. closing etc */
if (!flush) { if (!flush) {
GST_LOG_OBJECT (demux, "streaming; non-flushing seek not supported"); GST_LOG_OBJECT (demux, "streaming; non-flushing seek not supported");