asfdemux: Only forward SEEK event when in push mode.
authorDerek Lesho <dlesho@codeweavers.com>
Fri, 17 Apr 2020 16:34:16 +0000 (11:34 -0500)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 25 Jul 2020 23:58:27 +0000 (00:58 +0100)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/48>

gst/asfdemux/gstasfdemux.c

index f253b87dec598c0b8510ff9eacd7aa34764a623e..9fd360d013b4309306a29468579de72724bc147b 100644 (file)
@@ -672,11 +672,6 @@ gst_asf_demux_handle_seek_event (GstASFDemux * demux, GstEvent * event)
     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 ||
           demux->num_packets == 0 || demux->play_time == 0)) {
     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;
 
   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 */
     if (!flush) {
       GST_LOG_OBJECT (demux, "streaming; non-flushing seek not supported");