output-selector: Send all events to active src pad and EOS to all src pads

Fixes tests/icles/output-selector-test

https://bugzilla.gnome.org/show_bug.cgi?id=729811
This commit is contained in:
Ravi Kiran K N 2014-08-27 17:06:57 +05:30 committed by Sebastian Dröge
parent 692606bdd2
commit 63a943aa82

View file

@ -534,22 +534,20 @@ gst_output_selector_event (GstPad * pad, GstObject * parent, GstEvent * event)
sel = GST_OUTPUT_SELECTOR (parent); sel = GST_OUTPUT_SELECTOR (parent);
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SEGMENT: case GST_EVENT_EOS:
{ {
gst_event_copy_segment (event, &sel->segment);
GST_DEBUG_OBJECT (sel, "configured SEGMENT %" GST_SEGMENT_FORMAT,
&sel->segment);
res = gst_output_selector_forward_event (sel, event); res = gst_output_selector_forward_event (sel, event);
break; break;
} }
case GST_EVENT_SEGMENT:
{
gst_event_copy_segment (event, &sel->segment);
GST_DEBUG_OBJECT (sel, "configured SEGMENT %" GST_SEGMENT_FORMAT,
&sel->segment);
/* fall through */
}
default: default:
{ {
if (GST_EVENT_IS_STICKY (event)) {
res = gst_output_selector_forward_event (sel, event);
} else {
/* Send other events to pending or active src pad */
active = gst_output_selector_get_active (sel); active = gst_output_selector_get_active (sel);
if (active) { if (active) {
res = gst_pad_push_event (active, event); res = gst_pad_push_event (active, event);
@ -557,7 +555,6 @@ gst_output_selector_event (GstPad * pad, GstObject * parent, GstEvent * event)
} else { } else {
gst_event_unref (event); gst_event_unref (event);
} }
}
break; break;
} }
} }