diff --git a/ChangeLog b/ChangeLog index 2c09f79602..95e5d69656 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-10-07 Stefan Kost + + * gst/selector/gstoutputselector.c: + Choose right pad for sending events. Fixes #555244 + 2008-10-07 Wim Taymans * gst/rtpmanager/gstrtpbin.c: (find_session_by_pad), diff --git a/gst/selector/gstoutputselector.c b/gst/selector/gstoutputselector.c index 0ea4d7e51d..74191cb01d 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; }