diff --git a/gst/gstpad.c b/gst/gstpad.c index 49b65aa09e..f700c82b7c 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -1357,6 +1357,30 @@ gst_pad_is_blocking (GstPad * pad) return result; } +/** + * gst_pad_needs_reconfigure: + * @pad: the #GstPad to check + * + * Check the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE + * if the flag was set. + * + * Returns: %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on @pad. + */ +gboolean +gst_pad_needs_reconfigure (GstPad * pad) +{ + gboolean reconfigure; + + g_return_val_if_fail (GST_IS_PAD (pad), FALSE); + + GST_OBJECT_LOCK (pad); + reconfigure = GST_PAD_NEEDS_RECONFIGURE (pad); + GST_DEBUG_OBJECT (pad, "peeking RECONFIGURE flag %d", reconfigure); + GST_OBJECT_UNLOCK (pad); + + return reconfigure; +} + /** * gst_pad_check_reconfigure: * @pad: the #GstPad to check diff --git a/gst/gstpad.h b/gst/gstpad.h index 105c479d94..2fd7ff1e88 100644 --- a/gst/gstpad.h +++ b/gst/gstpad.h @@ -852,6 +852,7 @@ gboolean gst_pad_is_blocked (GstPad *pad); gboolean gst_pad_is_blocking (GstPad *pad); void gst_pad_mark_reconfigure (GstPad *pad); +gboolean gst_pad_needs_reconfigure (GstPad *pad); gboolean gst_pad_check_reconfigure (GstPad *pad); void gst_pad_set_element_private (GstPad *pad, gpointer priv); diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def index 062bc83b81..fdba8f3b3a 100644 --- a/win32/common/libgstreamer.def +++ b/win32/common/libgstreamer.def @@ -686,6 +686,7 @@ EXPORTS gst_pad_link_return_get_type gst_pad_mark_reconfigure gst_pad_mode_get_type + gst_pad_needs_reconfigure gst_pad_new gst_pad_new_from_static_template gst_pad_new_from_template