mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
adder: make events succeed, if they succed on atleast one pad
This commit is contained in:
parent
0d6195686b
commit
3d73a7458a
2 changed files with 3 additions and 3 deletions
|
@ -609,7 +609,6 @@ forward_event_func (GstPad * pad, GValue * ret, EventData * data)
|
||||||
gst_event_ref (event);
|
gst_event_ref (event);
|
||||||
GST_LOG_OBJECT (pad, "About to send event %s", GST_EVENT_TYPE_NAME (event));
|
GST_LOG_OBJECT (pad, "About to send event %s", GST_EVENT_TYPE_NAME (event));
|
||||||
if (!gst_pad_push_event (pad, event)) {
|
if (!gst_pad_push_event (pad, event)) {
|
||||||
g_value_set_boolean (ret, FALSE);
|
|
||||||
GST_WARNING_OBJECT (pad, "Sending event %p (%s) failed.",
|
GST_WARNING_OBJECT (pad, "Sending event %p (%s) failed.",
|
||||||
event, GST_EVENT_TYPE_NAME (event));
|
event, GST_EVENT_TYPE_NAME (event));
|
||||||
/* quick hack to unflush the pads, ideally we need a way to just unflush
|
/* quick hack to unflush the pads, ideally we need a way to just unflush
|
||||||
|
@ -617,6 +616,7 @@ forward_event_func (GstPad * pad, GValue * ret, EventData * data)
|
||||||
if (data->flush)
|
if (data->flush)
|
||||||
gst_pad_send_event (pad, gst_event_new_flush_stop ());
|
gst_pad_send_event (pad, gst_event_new_flush_stop ());
|
||||||
} else {
|
} else {
|
||||||
|
g_value_set_boolean (ret, TRUE);
|
||||||
GST_LOG_OBJECT (pad, "Sent event %p (%s).",
|
GST_LOG_OBJECT (pad, "Sent event %p (%s).",
|
||||||
event, GST_EVENT_TYPE_NAME (event));
|
event, GST_EVENT_TYPE_NAME (event));
|
||||||
}
|
}
|
||||||
|
@ -648,7 +648,7 @@ forward_event (GstAdder * adder, GstEvent * event, gboolean flush)
|
||||||
data.flush = flush;
|
data.flush = flush;
|
||||||
|
|
||||||
g_value_init (&vret, G_TYPE_BOOLEAN);
|
g_value_init (&vret, G_TYPE_BOOLEAN);
|
||||||
g_value_set_boolean (&vret, TRUE);
|
g_value_set_boolean (&vret, FALSE);
|
||||||
it = gst_element_iterate_sink_pads (GST_ELEMENT_CAST (adder));
|
it = gst_element_iterate_sink_pads (GST_ELEMENT_CAST (adder));
|
||||||
while (TRUE) {
|
while (TRUE) {
|
||||||
ires = gst_iterator_fold (it, (GstIteratorFoldFunction) forward_event_func,
|
ires = gst_iterator_fold (it, (GstIteratorFoldFunction) forward_event_func,
|
||||||
|
|
|
@ -531,7 +531,7 @@ GST_START_TEST (test_live_seeking)
|
||||||
fail_unless (res != GST_STATE_CHANGE_FAILURE, NULL);
|
fail_unless (res != GST_STATE_CHANGE_FAILURE, NULL);
|
||||||
|
|
||||||
res = gst_element_send_event (bin, gst_event_ref (play_seek_event));
|
res = gst_element_send_event (bin, gst_event_ref (play_seek_event));
|
||||||
#if 0
|
#if 1
|
||||||
fail_unless (res == TRUE, NULL);
|
fail_unless (res == TRUE, NULL);
|
||||||
#else
|
#else
|
||||||
/* adder is picky, if a single seek fails it totaly fails */
|
/* adder is picky, if a single seek fails it totaly fails */
|
||||||
|
|
Loading…
Reference in a new issue