outputselector: Always forward sticky events to all pads
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 9 May 2013 10:27:12 +0000 (12:27 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 9 May 2013 10:27:12 +0000 (12:27 +0200)
plugins/elements/gstoutputselector.c

index 99dc05114d9a809245da392860a20b29f890acc1..fe5f99d06a6891a2e30916a0dec666329e591d20 100644 (file)
@@ -546,19 +546,19 @@ gst_output_selector_event (GstPad * pad, GstObject * parent, GstEvent * event)
       res = gst_pad_event_default (pad, parent, event);
       break;
     }
-    case GST_EVENT_EOS:
-      /* Send eos to all src pads */
-      res = gst_pad_event_default (pad, parent, event);
-      break;
     default:
     {
-      /* Send other events to pending or active src pad */
-      active = gst_output_selector_get_active (sel);
-      if (active) {
-        res = gst_pad_push_event (active, event);
-        gst_object_unref (active);
+      if (GST_EVENT_IS_STICKY (event)) {
+        res = gst_pad_event_default (pad, parent, event);
       } else {
-        gst_event_unref (event);
+        /* Send other events to pending or active src pad */
+        active = gst_output_selector_get_active (sel);
+        if (active) {
+          res = gst_pad_push_event (active, event);
+          gst_object_unref (active);
+        } else {
+          gst_event_unref (event);
+        }
       }
       break;
     }