From 08dd2454cd6697a2f0ea678e5cd949872196c608 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 4 Apr 2013 14:37:15 +0200 Subject: [PATCH] decodebin2: small cleanup Take the event from the probe just once. --- gst/playback/gstdecodebin2.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index ab4b34f..997cc0f 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -3967,16 +3967,16 @@ source_pad_blocked_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data) GstDecodeBin *dbin; if (GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) { - GST_LOG_OBJECT (pad, "Seeing event '%s'", - GST_EVENT_TYPE_NAME (GST_PAD_PROBE_INFO_EVENT (info))); + GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info); - if (GST_EVENT_TYPE (GST_PAD_PROBE_INFO_EVENT (info)) == GST_EVENT_CAPS) { + GST_LOG_OBJECT (pad, "Seeing event '%s'", GST_EVENT_TYPE_NAME (event)); + + if (GST_EVENT_TYPE (event) == GST_EVENT_CAPS) { /* manually push event to ghost pad to avoid exposing pads * that don't have the sticky caps event */ - gst_pad_push_event (GST_PAD_CAST (dpad), - gst_event_ref (GST_PAD_PROBE_INFO_EVENT (info))); - } else if ((GST_EVENT_IS_STICKY (GST_PAD_PROBE_INFO_EVENT (info)) - || !GST_EVENT_IS_SERIALIZED (GST_PAD_PROBE_INFO_EVENT (info)))) { + gst_pad_push_event (GST_PAD_CAST (dpad), gst_event_ref (event)); + } else if ((GST_EVENT_IS_STICKY (event) + || !GST_EVENT_IS_SERIALIZED (event))) { /* do not block on sticky or out of band events otherwise the allocation query from demuxer might block the loop thread */ GST_LOG_OBJECT (pad, "Letting event through"); -- 2.7.4