manual: Fix dynamic pipeline example

Use GST_PAD_PROBE_PASS to pass through all events other than EOS instead of
blocking on the first non-EOS event forever. Also fix a typo in a comment in
that function.

Thanks to David Jaggard for reporting this on the mailing list.
This commit is contained in:
Sebastian Dröge 2015-12-14 10:04:19 +01:00
parent 69ef85afa2
commit ad5c97e44e

View file

@ -1392,11 +1392,11 @@ event_probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
GstElement *next; GstElement *next;
if (GST_EVENT_TYPE (GST_PAD_PROBE_INFO_DATA (info)) != GST_EVENT_EOS) if (GST_EVENT_TYPE (GST_PAD_PROBE_INFO_DATA (info)) != GST_EVENT_EOS)
return GST_PAD_PROBE_OK; return GST_PAD_PROBE_PASS;
gst_pad_remove_probe (pad, GST_PAD_PROBE_INFO_ID (info)); gst_pad_remove_probe (pad, GST_PAD_PROBE_INFO_ID (info));
/* push current event back into the queue */ /* push current effect back into the queue */
g_queue_push_tail (&effects, gst_object_ref (cur_effect)); g_queue_push_tail (&effects, gst_object_ref (cur_effect));
/* take next effect from the queue */ /* take next effect from the queue */
next = g_queue_pop_head (&effects); next = g_queue_pop_head (&effects);