concat: Allow seeking on the currently playing stream
authorSebastian Dröge <sebastian@centricular.com>
Wed, 27 Aug 2014 08:01:01 +0000 (11:01 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 27 Aug 2014 08:01:53 +0000 (11:01 +0300)
This is consistent with the stream time reporting.

plugins/elements/gstconcat.c

index 919163d..340a2d1 100644 (file)
@@ -563,9 +563,19 @@ gst_concat_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:{
-      /* We don't support seeking */
-      gst_event_unref (event);
-      ret = FALSE;
+      GstPad *sinkpad = NULL;
+
+      g_mutex_lock (&self->lock);
+      if ((sinkpad = self->current_sinkpad))
+        gst_object_ref (sinkpad);
+      g_mutex_unlock (&self->lock);
+      if (sinkpad) {
+        ret = gst_pad_push_event (sinkpad, event);
+        gst_object_unref (sinkpad);
+      } else {
+        gst_event_unref (event);
+        ret = FALSE;
+      }
       break;
     }
     case GST_EVENT_QOS:{