summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2008-10-07 13:14:40 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2008-10-07 13:14:40 +0000
commitae65d3945bd52f49fcf03b404f24555650b2b402 (patch)
tree48bef05fa408728e86089df0a1481065fd407d9b /gst
parentdbc5475c97bfef43d6c6b2361036b4cc2a884f18 (diff)
downloadgst-plugins-bad-ae65d3945bd52f49fcf03b404f24555650b2b402.tar.gz
gst-plugins-bad-ae65d3945bd52f49fcf03b404f24555650b2b402.tar.bz2
gst-plugins-bad-ae65d3945bd52f49fcf03b404f24555650b2b402.zip
gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes #555244
Original commit message from CVS: * gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes #555244
Diffstat (limited to 'gst')
-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;
}