summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2013-04-04 14:37:15 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2013-04-04 14:37:15 +0200
commit08dd2454cd6697a2f0ea678e5cd949872196c608 (patch)
tree59f8217c3876188ec3c84948b31f92e6d3ab85a8
parenta4e44df6b9727f1f9a26da5774179d402b05b8f0 (diff)
decodebin2: small cleanup
Take the event from the probe just once.
-rw-r--r--gst/playback/gstdecodebin2.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index ab4b34f1d..997cc0fee 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");