[0.11] gst-plugins-base: decodebin2: Fix merge error

Sebastian Dröge slomo at kemper.freedesktop.org
Wed Jan 25 03:04:31 PST 2012


Module: gst-plugins-base
Branch: 0.11
Commit: 7e5aeba02f27ac495a8624514e7346a4e7ffe598
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=7e5aeba02f27ac495a8624514e7346a4e7ffe598

Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date:   Wed Jan 25 12:03:31 2012 +0100

decodebin2: Fix merge error

---

 gst/playback/gstdecodebin2.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index 9d2ad08..89884dd 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -2316,12 +2316,13 @@ pad_event_cb (GstPad * pad, GstPadProbeInfo * info, gpointer data)
 }
 
 static void
-demuxer_pad_blocked_cb (GstPad * pad, gboolean blocked, GstDecodeChain * chain)
+demuxer_pad_blocked_cb (GstPad * pad, GstPadProbeInfo * info,
+    GstDecodeChain * chain)
 {
   GstDecodeBin *dbin;
 
   dbin = chain->dbin;
-  if (!blocked)
+  if (info->type == GST_PAD_PROBE_TYPE_IDLE)
     gst_decode_chain_prune (dbin->decode_chain);
 }
 
@@ -2355,8 +2356,9 @@ pad_added_cb (GstElement * element, GstPad * pad, GstDecodeChain * chain)
 
         if (!gst_pad_is_blocked (child_chain->pad)) {
           GST_DEBUG_OBJECT (pad, "blocking next group's pad %p", pad);
-          gst_pad_set_blocked_async (child_chain->pad, TRUE,
-              (GstPadBlockCallback) demuxer_pad_blocked_cb, chain);
+          gst_pad_add_probe (child_chain->pad,
+              GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
+              (GstPadProbeCallback) demuxer_pad_blocked_cb, chain, NULL);
         }
       }
     }
@@ -2951,8 +2953,8 @@ unblock_demuxer_pads (GstDecodeChain * chain)
   GST_DEBUG_OBJECT (chain->dbin, "Unblocking demuxer pad for chain %p", chain);
 
   if (gst_pad_is_blocked (chain->pad))
-    gst_pad_set_blocked_async (chain->pad, FALSE,
-        (GstPadBlockCallback) demuxer_pad_blocked_cb, chain);
+    gst_pad_add_probe (chain->pad, GST_PAD_PROBE_TYPE_IDLE,
+        (GstPadProbeCallback) demuxer_pad_blocked_cb, chain, NULL);
   if (chain->active_group) {
     for (l = chain->active_group->children; l; l = l->next) {
       GstDecodeChain *child_chain = l->data;



More information about the gstreamer-commits mailing list