pad: handle NULL callbacks
authorWim Taymans <wim.taymans@collabora.co.uk>
Tue, 21 Feb 2012 15:37:11 +0000 (16:37 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 21 Feb 2012 15:37:11 +0000 (16:37 +0100)
When we have a matching NULL callback, also consider the 'callback' marshalled,
this way blocking probes with a NULL callback actually work.

gst/gstpad.c

index f7802d5..32cf6f4 100644 (file)
@@ -2849,6 +2849,8 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
       "hook %lu, cookie %u with flags 0x%08x matches", hook->hook_id,
       PROBE_COOKIE (hook), flags);
 
+  data->marshalled = TRUE;
+
   callback = (GstPadProbeCallback) hook->func;
   if (callback == NULL)
     return;
@@ -2860,7 +2862,6 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
   ret = callback (pad, info, hook->data);
 
   GST_OBJECT_LOCK (pad);
-  data->marshalled = TRUE;
 
   switch (ret) {
     case GST_PAD_PROBE_REMOVE: