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;
}