diff --git a/gst/gstpad.c b/gst/gstpad.c
index f4b05e3..89a29c9 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -1301,6 +1301,24 @@ cleanup_hook (GstPad * pad, GHook * hook)
 }
 
 /**
+ * gst_pad_unblock
+ * @pad: the #GstPad to unblock
+ *
+ * Unblock @pad
+ *
+ * MT safe.
+ */
+void
+gst_pad_unblock (GstPad * pad)
+{
+  GST_OBJECT_LOCK (pad);
+  GST_DEBUG_OBJECT (pad, "unblocking");
+  GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_BLOCKED);
+  GST_PAD_BLOCK_BROADCAST (pad);
+  GST_OBJECT_UNLOCK (pad);
+}
+
+/**
  * gst_pad_remove_probe:
  * @pad: the #GstPad with the probe
  * @id: the probe id to remove
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 140ed97..66f54e7 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -877,6 +877,7 @@ gulong                  gst_pad_add_probe                       (GstPad *pad,
 								 GstPadProbeCallback callback,
                                                                  gpointer user_data,
                                                                  GDestroyNotify destroy_data);
+void                    gst_pad_unblock                         (GstPad * pad);
 void                    gst_pad_remove_probe                    (GstPad *pad, gulong id);
 
 gboolean		gst_pad_is_blocked			(GstPad *pad);
