summaryrefslogtreecommitdiffstats
path: root/gst/selector/gstoutputselector.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/selector/gstoutputselector.c')
-rw-r--r--gst/selector/gstoutputselector.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gst/selector/gstoutputselector.c b/gst/selector/gstoutputselector.c
index 0ea4d7e5..74191cb0 100644
--- a/gst/selector/gstoutputselector.c
+++ b/gst/selector/gstoutputselector.c
@@ -387,6 +387,7 @@ gst_output_selector_handle_sink_event (GstPad * pad, GstEvent * event)
{
gboolean res = TRUE;
GstOutputSelector *sel;
+ GstPad *output_pad = NULL;
sel = GST_OUTPUT_SELECTOR (gst_pad_get_parent (pad));
@@ -419,8 +420,10 @@ gst_output_selector_handle_sink_event (GstPad * pad, GstEvent * event)
gst_pad_event_default (pad, event);
break;
default:
- /* Send other events to active src pad */
- res = gst_pad_push_event (sel->active_srcpad, event);
+ /* Send other events to pending or active src pad */
+ output_pad =
+ sel->pending_srcpad ? sel->pending_srcpad : sel->active_srcpad;
+ res = gst_pad_push_event (output_pad, event);
break;
}