GstPad: GStreamer 1.0 Core Reference Manual

## GstPad GstPad |

## Functions

const gchar * | gst_pad_link_get_name ()
#define | GST_PAD_LINK_FAILED()
#define | GST_PAD_LINK_SUCCESSFUL()
const gchar * | gst_flow_get_name ()
GQuark | gst_flow_to_quark ()
const gchar * | gst_pad_mode_get_name ()
GstFlowReturn | gst_pad_store_sticky_event ()
#define | gst_pad_get_name()
GstPadDirection | gst_pad_get_direction ()
#define | gst_pad_get_parent()
GstElement * | gst_pad_get_parent_element ()
GstPadTemplate * | gst_pad_get_pad_template ()
GstPadLinkReturn | gst_pad_link ()
GstPadLinkReturn | gst_pad_link_full ()
gboolean | gst_pad_link_maybe_ghosting ()
gboolean | gst_pad_link_maybe_ghosting_full ()
gboolean | gst_pad_unlink ()
gboolean | gst_pad_is_linked ()
gboolean | gst_pad_can_link ()
GstCaps * | gst_pad_get_allowed_caps ()
GstCaps * | gst_pad_get_current_caps ()
GstCaps * | gst_pad_get_pad_template_caps ()
GstPad * | gst_pad_get_peer ()
void | gst_pad_use_fixed_caps ()
gboolean | gst_pad_has_current_caps ()
GstEvent * | gst_pad_get_sticky_event ()
gboolean | (*GstPadStickyEventsForeachFunction) ()
void | gst_pad_sticky_events_foreach ()
gboolean | gst_pad_is_active ()
GstFlowReturn | gst_pad_get_last_flow_return ()
#define | GST_PAD_PROBE_INFO_TYPE()
#define | GST_PAD_PROBE_INFO_ID()
#define | GST_PAD_PROBE_INFO_DATA()
#define | GST_PAD_PROBE_INFO_BUFFER()
#define | GST_PAD_PROBE_INFO_BUFFER_LIST()
#define | GST_PAD_PROBE_INFO_EVENT()
#define | GST_PAD_PROBE_INFO_QUERY()
GstBuffer * | gst_pad_probe_info_get_buffer ()
GstBufferList * | gst_pad_probe_info_get_buffer_list ()
GstEvent * | gst_pad_probe_info_get_event ()
GstQuery * | gst_pad_probe_info_get_query ()
#define | GST_PAD_PROBE_INFO_OFFSET()
#define | GST_PAD_PROBE_INFO_SIZE()
#define | GST_PAD_PROBE_INFO_FLOW_RETURN()
GstPadProbeReturn | (*GstPadProbeCallback) ()
gulong | gst_pad_add_probe ()
void | gst_pad_remove_probe ()
gboolean | gst_pad_is_blocked ()
gboolean | gst_pad_is_blocking ()
gint64 | gst_pad_get_offset ()
void | gst_pad_set_offset ()
GstPad * | gst_pad_new ()
GstPad * | gst_pad_new_from_template ()
GstPad * | gst_pad_new_from_static_template ()
#define | gst_pad_set_chain_function()
void | gst_pad_set_chain_function_full ()
GstFlowReturn | (*GstPadChainFunction) ()
#define | gst_pad_set_chain_list_function()
void | gst_pad_set_chain_list_function_full ()
GstFlowReturn | (*GstPadChainListFunction) ()
GstFlowReturn | gst_pad_get_range ()
#define | gst_pad_set_getrange_function()
void | gst_pad_set_getrange_function_full ()
GstFlowReturn | (*GstPadGetRangeFunction) ()
#define | gst_pad_set_event_function()
void | gst_pad_set_event_function_full ()
gboolean | (*GstPadEventFunction) ()
#define | gst_pad_set_event_full_function()
void | gst_pad_set_event_full_function_full ()
GstFlowReturn | (*GstPadEventFullFunction) ()
#define | gst_pad_set_link_function()
void | gst_pad_set_link_function_full ()
GstPadLinkReturn | (*GstPadLinkFunction) ()
#define | gst_pad_set_unlink_function()
void | gst_pad_set_unlink_function_full ()
void | (*GstPadUnlinkFunction) ()
gboolean | gst_pad_proxy_query_caps ()
gboolean | gst_pad_proxy_query_accept_caps ()
#define | gst_pad_set_activate_function()
void | gst_pad_set_activate_function_full ()
gboolean | (*GstPadActivateFunction) ()
#define | gst_pad_set_activatemode_function()
void | gst_pad_set_activatemode_function_full ()
gboolean | (*GstPadActivateModeFunction) ()
gboolean | gst_pad_needs_reconfigure ()
gboolean | gst_pad_check_reconfigure ()
void | gst_pad_mark_reconfigure ()
GstFlowReturn | gst_pad_push ()
gboolean | gst_pad_push_event ()
GstFlowReturn | gst_pad_push_list ()
GstFlowReturn | gst_pad_pull_range ()
gboolean | gst_pad_activate_mode ()
gboolean | gst_pad_send_event ()
gboolean | gst_pad_event_default ()
gboolean | gst_pad_query ()
gboolean | gst_pad_peer_query ()
gboolean | gst_pad_query_default ()
gboolean | gst_pad_query_position ()
gboolean | gst_pad_query_duration ()
gboolean | gst_pad_query_convert ()
gboolean | gst_pad_query_accept_caps ()
GstCaps * | gst_pad_query_caps ()
gboolean | gst_pad_peer_query_position ()
gboolean | gst_pad_peer_query_duration ()
gboolean | gst_pad_peer_query_convert ()
gboolean | gst_pad_peer_query_accept_caps ()
GstCaps * | gst_pad_peer_query_caps ()
#define | gst_pad_set_query_function()
void | gst_pad_set_query_function_full ()
gboolean | (*GstPadQueryFunction) ()
#define | gst_pad_set_iterate_internal_links_function()
void | gst_pad_set_iterate_internal_links_function_full ()
GstIterator * | (*GstPadIterIntLinkFunction) ()
GstIterator * | gst_pad_iterate_internal_links ()
GstIterator * | gst_pad_iterate_internal_links_default ()
void | gst_pad_set_element_private ()
gpointer | gst_pad_get_element_private ()
gchar * | gst_pad_create_stream_id ()
gchar * | gst_pad_create_stream_id_printf ()
gchar * | gst_pad_create_stream_id_printf_valist ()
gchar * | gst_pad_get_stream_id ()
GstStream * | gst_pad_get_stream ()
gboolean | (*GstPadForwardFunction) ()
gboolean | gst_pad_forward ()
GstFlowReturn | gst_pad_chain ()
GstFlowReturn | gst_pad_chain_list ()
gboolean | gst_pad_start_task ()
gboolean | gst_pad_pause_task ()
gboolean | gst_pad_stop_task ()
gboolean | gst_pad_set_active ()
#define | GST_PAD_GET_STREAM_LOCK()
#define | GST_PAD_STREAM_LOCK()
#define | GST_PAD_STREAM_TRYLOCK()
#define | GST_PAD_STREAM_UNLOCK()
#define | GST_PAD_NAME()
#define | GST_PAD_PARENT()
#define | GST_PAD_ELEMENT_PRIVATE()
#define | GST_PAD_PAD_TEMPLATE()
#define | GST_PAD_DIRECTION()
#define | GST_PAD_LAST_FLOW_RETURN()
#define | GST_PAD_TASK()
#define | GST_PAD_MODE()
#define | GST_PAD_ACTIVATEFUNC()
#define | GST_PAD_ACTIVATEMODEFUNC()
#define | GST_PAD_CHAINFUNC()
#define | GST_PAD_CHAINLISTFUNC()
#define | GST_PAD_EVENTFUNC()
#define | GST_PAD_EVENTFULLFUNC()
#define | GST_PAD_GETRANGEFUNC()
#define | GST_PAD_QUERYFUNC()
#define | GST_PAD_ITERINTLINKFUNC()
#define | GST_PAD_PEER()
#define | GST_PAD_LINKFUNC()
#define | GST_PAD_UNLINKFUNC()
#define | GST_PAD_IS_LINKED()
#define | GST_PAD_IS_SRC()
#define | GST_PAD_IS_SINK()
#define | GST_PAD_IS_ACTIVE()
#define | GST_PAD_IS_BLOCKED()
#define | GST_PAD_IS_BLOCKING()
#define | GST_PAD_IS_FLUSHING()
#define | GST_PAD_SET_FLUSHING()
#define | GST_PAD_UNSET_FLUSHING()
#define | GST_PAD_IS_EOS()
#define | GST_PAD_NEEDS_RECONFIGURE()
#define | GST_PAD_HAS_PENDING_EVENTS()
#define | GST_PAD_IS_FIXED_CAPS()
#define | GST_PAD_NEEDS_PARENT()
#define | GST_PAD_IS_PROXY_CAPS()
#define | GST_PAD_SET_PROXY_CAPS()
#define | GST_PAD_UNSET_PROXY_CAPS()
#define | GST_PAD_IS_PROXY_ALLOCATION()
#define | GST_PAD_SET_PROXY_ALLOCATION()
#define | GST_PAD_UNSET_PROXY_ALLOCATION()
#define | GST_PAD_SET_PROXY_SCHEDULING()
#define | GST_PAD_UNSET_PROXY_SCHEDULING()
#define | GST_PAD_IS_PROXY_SCHEDULING()
#define | GST_PAD_IS_ACCEPT_INTERSECT()
#define | GST_PAD_SET_ACCEPT_INTERSECT()
#define | GST_PAD_UNSET_ACCEPT_INTERSECT()
#define | GST_PAD_IS_ACCEPT_TEMPLATE()
#define | GST_PAD_SET_ACCEPT_TEMPLATE()
#define | GST_PAD_UNSET_ACCEPT_TEMPLATE()

## Properties

GstCaps * | caps | Read
GstPadDirection | direction | Read / Write / Construct Only
gint64 | offset | Read / Write
GstPadTemplate * | template | Read / Write

## Signals

void | linked | Run Last
void | unlinked | Run Last

## Types and Values

struct | GstPad
enum | GstPadDirection
enum | GstPadFlags
enum | GstPadLinkReturn
enum | GstPadLinkCheck
enum | GstFlowReturn
enum | GstPadMode
enum | GstPadProbeReturn
enum | GstPadProbeType
struct | GstPadProbeInfo

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstPad
                    ╰── GstProxyPad

## Includes

    #include <gst/gst.h>

## Description

## Functions

### gst_pad_link_get_name ()

    const gchar *
    gst_pad_link_get_name (GstPadLinkReturn ret);

### GST_PAD_LINK_FAILED()

    #define GST_PAD_LINK_FAILED(ret) ((ret) < GST_PAD_LINK_OK)

### GST_PAD_LINK_SUCCESSFUL()

    #define GST_PAD_LINK_SUCCESSFUL(ret) ((ret) >= GST_PAD_LINK_OK)

### gst_flow_get_name ()

    const gchar *
    gst_flow_get_name (GstFlowReturn ret);

### gst_flow_to_quark ()

    GQuark
    gst_flow_to_quark (GstFlowReturn ret);

### gst_pad_mode_get_name ()

    const gchar *
    gst_pad_mode_get_name (GstPadMode mode);

### gst_pad_store_sticky_event ()

    GstFlowReturn
    gst_pad_store_sticky_event (GstPad *pad,
                                GstEvent *event);

### gst_pad_get_name()

    #define gst_pad_get_name(pad) gst_object_get_name (GST_OBJECT_CAST (pad))

### gst_pad_get_direction ()

    GstPadDirection
    gst_pad_get_direction (GstPad *pad);

### gst_pad_get_parent()

    #define gst_pad_get_parent(pad) gst_object_get_parent (GST_OBJECT_CAST (pad))

### gst_pad_get_parent_element ()

    GstElement *
    gst_pad_get_parent_element (GstPad *pad);

### gst_pad_get_pad_template ()

    GstPadTemplate *
    gst_pad_get_pad_template (GstPad *pad);

### gst_pad_link ()

    GstPadLinkReturn
    gst_pad_link (GstPad *srcpad,
                  GstPad *sinkpad);

### gst_pad_link_full ()

    GstPadLinkReturn
    gst_pad_link_full (GstPad *srcpad,
                       GstPad *sinkpad,
                       GstPadLinkCheck flags);

### gst_pad_link_maybe_ghosting ()

    gboolean
    gst_pad_link_maybe_ghosting (GstPad *src,
                                 GstPad *sink);

### gst_pad_link_maybe_ghosting_full ()

    gboolean
    gst_pad_link_maybe_ghosting_full (GstPad *src,
                                      GstPad *sink,
                                      GstPadLinkCheck flags);

### gst_pad_unlink ()

    gboolean
    gst_pad_unlink (GstPad *srcpad,
                    GstPad *sinkpad);

### gst_pad_is_linked ()

    gboolean
    gst_pad_is_linked (GstPad *pad);

### gst_pad_can_link ()

    gboolean
    gst_pad_can_link (GstPad *srcpad,
                      GstPad *sinkpad);

### gst_pad_get_allowed_caps ()

    GstCaps *
    gst_pad_get_allowed_caps (GstPad *pad);

### gst_pad_get_current_caps ()

    GstCaps *
    gst_pad_get_current_caps (GstPad *pad);

### gst_pad_get_pad_template_caps ()

    GstCaps *
    gst_pad_get_pad_template_caps (GstPad *pad);

### gst_pad_get_peer ()

    GstPad *
    gst_pad_get_peer (GstPad *pad);

### gst_pad_use_fixed_caps ()

    void
    gst_pad_use_fixed_caps (GstPad *pad);

### gst_pad_has_current_caps ()

    gboolean
    gst_pad_has_current_caps (GstPad *pad);

### gst_pad_get_sticky_event ()

    GstEvent *
    gst_pad_get_sticky_event (GstPad *pad,
                              GstEventType event_type,
                              guint idx);

### GstPadStickyEventsForeachFunction ()

    gboolean
    (*GstPadStickyEventsForeachFunction) (GstPad *pad,
                                          GstEvent **event,
                                          gpointer user_data);

### gst_pad_sticky_events_foreach ()

    void
    gst_pad_sticky_events_foreach (GstPad *pad,
                                   GstPadStickyEventsForeachFunction foreach_func,
                                   gpointer user_data);

### gst_pad_is_active ()

    gboolean
    gst_pad_is_active (GstPad *pad);

### gst_pad_get_last_flow_return ()

    GstFlowReturn
    gst_pad_get_last_flow_return (GstPad *pad);

### GST_PAD_PROBE_INFO_TYPE()

    #define GST_PAD_PROBE_INFO_TYPE(d)         ((d)->type)

### GST_PAD_PROBE_INFO_ID()

    #define GST_PAD_PROBE_INFO_ID(d)           ((d)->id)

### GST_PAD_PROBE_INFO_DATA()

    #define GST_PAD_PROBE_INFO_DATA(d)         ((d)->data)

### GST_PAD_PROBE_INFO_BUFFER()

    #define GST_PAD_PROBE_INFO_BUFFER(d)       GST_BUFFER_CAST(GST_PAD_PROBE_INFO_DATA(d))

### GST_PAD_PROBE_INFO_BUFFER_LIST()

    #define GST_PAD_PROBE_INFO_BUFFER_LIST(d)  GST_BUFFER_LIST_CAST(GST_PAD_PROBE_INFO_DATA(d))

### GST_PAD_PROBE_INFO_EVENT()

    #define GST_PAD_PROBE_INFO_EVENT(d)        GST_EVENT_CAST(GST_PAD_PROBE_INFO_DATA(d))

### GST_PAD_PROBE_INFO_QUERY()

    #define GST_PAD_PROBE_INFO_QUERY(d)        GST_QUERY_CAST(GST_PAD_PROBE_INFO_DATA(d))

### gst_pad_probe_info_get_buffer ()

    GstBuffer *
    gst_pad_probe_info_get_buffer (GstPadProbeInfo *info);

### gst_pad_probe_info_get_buffer_list ()

    GstBufferList *
    gst_pad_probe_info_get_buffer_list (GstPadProbeInfo *info);

### gst_pad_probe_info_get_event ()

    GstEvent *
    gst_pad_probe_info_get_event (GstPadProbeInfo *info);

### gst_pad_probe_info_get_query ()

    GstQuery *
    gst_pad_probe_info_get_query (GstPadProbeInfo *info);

### GST_PAD_PROBE_INFO_OFFSET()

    #define GST_PAD_PROBE_INFO_OFFSET(d)       ((d)->offset)

### GST_PAD_PROBE_INFO_SIZE()

    #define GST_PAD_PROBE_INFO_SIZE(d)         ((d)->size)

### GST_PAD_PROBE_INFO_FLOW_RETURN()

    #define GST_PAD_PROBE_INFO_FLOW_RETURN(d)  ((d)->ABI.abi.flow_ret)

### GstPadProbeCallback ()

    GstPadProbeReturn
    (*GstPadProbeCallback) (GstPad *pad,
                            GstPadProbeInfo *info,
                            gpointer user_data);

### gst_pad_add_probe ()

    gulong
    gst_pad_add_probe (GstPad *pad,
                       GstPadProbeType mask,
                       GstPadProbeCallback callback,
                       gpointer user_data,
                       GDestroyNotify destroy_data);

### gst_pad_remove_probe ()

    void
    gst_pad_remove_probe (GstPad *pad,
                          gulong id);

### gst_pad_is_blocked ()

    gboolean
    gst_pad_is_blocked (GstPad *pad);

### gst_pad_is_blocking ()

    gboolean
    gst_pad_is_blocking (GstPad *pad);

### gst_pad_get_offset ()

    gint64
    gst_pad_get_offset (GstPad *pad);

### gst_pad_set_offset ()

    void
    gst_pad_set_offset (GstPad *pad,
                        gint64 offset);

### gst_pad_new ()

    GstPad *
    gst_pad_new (const gchar *name,
                 GstPadDirection direction);

### gst_pad_new_from_template ()

    GstPad *
    gst_pad_new_from_template (GstPadTemplate *templ,
                               const gchar *name);

### gst_pad_new_from_static_template ()

    GstPad *
    gst_pad_new_from_static_template (GstStaticPadTemplate *templ,
                                      const gchar *name);

### gst_pad_set_chain_function()

    #define gst_pad_set_chain_function(p,f)         gst_pad_set_chain_function_full((p),(f),NULL,NULL)

### gst_pad_set_chain_function_full ()

    void
    gst_pad_set_chain_function_full (GstPad *pad,
                                     GstPadChainFunction chain,
                                     gpointer user_data,
                                     GDestroyNotify notify);

### GstPadChainFunction ()

    GstFlowReturn
    (*GstPadChainFunction) (GstPad *pad,
                            GstObject *parent,
                            GstBuffer *buffer);

### gst_pad_set_chain_list_function()

    #define gst_pad_set_chain_list_function(p,f)    gst_pad_set_chain_list_function_full((p),(f),NULL,NULL)

### gst_pad_set_chain_list_function_full ()

    void
    gst_pad_set_chain_list_function_full (GstPad *pad,
                                          GstPadChainListFunction chainlist,
                                          gpointer user_data,
                                          GDestroyNotify notify);

### GstPadChainListFunction ()

    GstFlowReturn
    (*GstPadChainListFunction) (GstPad *pad,
                                GstObject *parent,
                                GstBufferList *list);

### gst_pad_get_range ()

    GstFlowReturn
    gst_pad_get_range (GstPad *pad,
                       guint64 offset,
                       guint size,
                       GstBuffer **buffer);

### gst_pad_set_getrange_function()

    #define gst_pad_set_getrange_function(p,f)      gst_pad_set_getrange_function_full((p),(f),NULL,NULL)

### gst_pad_set_getrange_function_full ()

    void
    gst_pad_set_getrange_function_full (GstPad *pad,
                                        GstPadGetRangeFunction get,
                                        gpointer user_data,
                                        GDestroyNotify notify);

### GstPadGetRangeFunction ()

    GstFlowReturn
    (*GstPadGetRangeFunction) (GstPad *pad,
                               GstObject *parent,
                               guint64 offset,
                               guint length,
                               GstBuffer **buffer);

### gst_pad_set_event_function()

    #define gst_pad_set_event_function(p,f)         gst_pad_set_event_function_full((p),(f),NULL,NULL)

### gst_pad_set_event_function_full ()

    void
    gst_pad_set_event_function_full (GstPad *pad,
                                     GstPadEventFunction event,
                                     gpointer user_data,
                                     GDestroyNotify notify);

### GstPadEventFunction ()

    gboolean
    (*GstPadEventFunction) (GstPad *pad,
                            GstObject *parent,
                            GstEvent *event);

### gst_pad_set_event_full_function()

    #define gst_pad_set_event_full_function(p,f)    gst_pad_set_event_full_function_full((p),(f),NULL,NULL)

### gst_pad_set_event_full_function_full ()

    void
    gst_pad_set_event_full_function_full (GstPad *pad,
                                          GstPadEventFullFunction event,
                                          gpointer user_data,
                                          GDestroyNotify notify);

### GstPadEventFullFunction ()

    GstFlowReturn
    (*GstPadEventFullFunction) (GstPad *pad,
                                GstObject *parent,
                                GstEvent *event);

### gst_pad_set_link_function()

    #define gst_pad_set_link_function(p,f)          gst_pad_set_link_function_full((p),(f),NULL,NULL)

### gst_pad_set_link_function_full ()

    void
    gst_pad_set_link_function_full (GstPad *pad,
                                    GstPadLinkFunction link,
                                    gpointer user_data,
                                    GDestroyNotify notify);

### GstPadLinkFunction ()

    GstPadLinkReturn
    (*GstPadLinkFunction) (GstPad *pad,
                           GstObject *parent,
                           GstPad *peer);

### gst_pad_set_unlink_function()

    #define gst_pad_set_unlink_function(p,f)        gst_pad_set_unlink_function_full((p),(f),NULL,NULL)

### gst_pad_set_unlink_function_full ()

    void
    gst_pad_set_unlink_function_full (GstPad *pad,
                                      GstPadUnlinkFunction unlink,
                                      gpointer user_data,
                                      GDestroyNotify notify);

### GstPadUnlinkFunction ()

    void
    (*GstPadUnlinkFunction) (GstPad *pad,
                             GstObject *parent);

### gst_pad_proxy_query_caps ()

    gboolean
    gst_pad_proxy_query_caps (GstPad *pad,
                              GstQuery *query);

### gst_pad_proxy_query_accept_caps ()

    gboolean
    gst_pad_proxy_query_accept_caps (GstPad *pad,
                                     GstQuery *query);

### gst_pad_set_activate_function()

    #define gst_pad_set_activate_function(p,f)      gst_pad_set_activate_function_full((p),(f),NULL,NULL)

### gst_pad_set_activate_function_full ()

    void
    gst_pad_set_activate_function_full (GstPad *pad,
                                        GstPadActivateFunction activate,
                                        gpointer user_data,
                                        GDestroyNotify notify);

### GstPadActivateFunction ()

    gboolean
    (*GstPadActivateFunction) (GstPad *pad,
                               GstObject *parent);

### gst_pad_set_activatemode_function()

    #define gst_pad_set_activatemode_function(p,f)  gst_pad_set_activatemode_function_full((p),(f),NULL,NULL)

### gst_pad_set_activatemode_function_full ()

    void
    gst_pad_set_activatemode_function_full
                                   (GstPad *pad,
                                    GstPadActivateModeFunction activatemode,
                                    gpointer user_data,
                                    GDestroyNotify notify);

### GstPadActivateModeFunction ()

    gboolean
    (*GstPadActivateModeFunction) (GstPad *pad,
                                   GstObject *parent,
                                   GstPadMode mode,
                                   gboolean active);

### gst_pad_needs_reconfigure ()

    gboolean
    gst_pad_needs_reconfigure (GstPad *pad);

### gst_pad_check_reconfigure ()

    gboolean
    gst_pad_check_reconfigure (GstPad *pad);

### gst_pad_mark_reconfigure ()

    void
    gst_pad_mark_reconfigure (GstPad *pad);

### gst_pad_push ()

    GstFlowReturn
    gst_pad_push (GstPad *pad,
                  GstBuffer *buffer);

### gst_pad_push_event ()

    gboolean
    gst_pad_push_event (GstPad *pad,
                        GstEvent *event);

### gst_pad_push_list ()

    GstFlowReturn
    gst_pad_push_list (GstPad *pad,
                       GstBufferList *list);

### gst_pad_pull_range ()

    GstFlowReturn
    gst_pad_pull_range (GstPad *pad,
                        guint64 offset,
                        guint size,
                        GstBuffer **buffer);

### gst_pad_activate_mode ()

    gboolean
    gst_pad_activate_mode (GstPad *pad,
                           GstPadMode mode,
                           gboolean active);

### gst_pad_send_event ()

    gboolean
    gst_pad_send_event (GstPad *pad,
                        GstEvent *event);

### gst_pad_event_default ()

    gboolean
    gst_pad_event_default (GstPad *pad,
                           GstObject *parent,
                           GstEvent *event);

### gst_pad_query ()

    gboolean
    gst_pad_query (GstPad *pad,
                   GstQuery *query);

### gst_pad_peer_query ()

    gboolean
    gst_pad_peer_query (GstPad *pad,
                        GstQuery *query);

### gst_pad_query_default ()

    gboolean
    gst_pad_query_default (GstPad *pad,
                           GstObject *parent,
                           GstQuery *query);

### gst_pad_query_position ()

    gboolean
    gst_pad_query_position (GstPad *pad,
                            GstFormat format,
                            gint64 *cur);

### gst_pad_query_duration ()

    gboolean
    gst_pad_query_duration (GstPad *pad,
                            GstFormat format,
                            gint64 *duration);

### gst_pad_query_convert ()

    gboolean
    gst_pad_query_convert (GstPad *pad,
                           GstFormat src_format,
                           gint64 src_val,
                           GstFormat dest_format,
                           gint64 *dest_val);

### gst_pad_query_accept_caps ()

    gboolean
    gst_pad_query_accept_caps (GstPad *pad,
                               GstCaps *caps);

### gst_pad_query_caps ()

    GstCaps *
    gst_pad_query_caps (GstPad *pad,
                        GstCaps *filter);

### gst_pad_peer_query_position ()

    gboolean
    gst_pad_peer_query_position (GstPad *pad,
                                 GstFormat format,
                                 gint64 *cur);

### gst_pad_peer_query_duration ()

    gboolean
    gst_pad_peer_query_duration (GstPad *pad,
                                 GstFormat format,
                                 gint64 *duration);

### gst_pad_peer_query_convert ()

    gboolean
    gst_pad_peer_query_convert (GstPad *pad,
                                GstFormat src_format,
                                gint64 src_val,
                                GstFormat dest_format,
                                gint64 *dest_val);

### gst_pad_peer_query_accept_caps ()

    gboolean
    gst_pad_peer_query_accept_caps (GstPad *pad,
                                    GstCaps *caps);

### gst_pad_peer_query_caps ()

    GstCaps *
    gst_pad_peer_query_caps (GstPad *pad,
                             GstCaps *filter);

### gst_pad_set_query_function()

    #define gst_pad_set_query_function(p,f)   gst_pad_set_query_function_full((p),(f),NULL,NULL)

### gst_pad_set_query_function_full ()

    void
    gst_pad_set_query_function_full (GstPad *pad,
                                     GstPadQueryFunction query,
                                     gpointer user_data,
                                     GDestroyNotify notify);

### GstPadQueryFunction ()

    gboolean
    (*GstPadQueryFunction) (GstPad *pad,
                            GstObject *parent,
                            GstQuery *query);

### gst_pad_set_iterate_internal_links_function()

    #define gst_pad_set_iterate_internal_links_function(p,f) gst_pad_set_iterate_internal_links_function_full((p),(f),NULL,NULL)

### gst_pad_set_iterate_internal_links_function_full ()

    void
    gst_pad_set_iterate_internal_links_function_full
                                   (GstPad *pad,
                                    GstPadIterIntLinkFunction iterintlink,
                                    gpointer user_data,
                                    GDestroyNotify notify);

### GstPadIterIntLinkFunction ()

    GstIterator *
    (*GstPadIterIntLinkFunction) (GstPad *pad,
                                  GstObject *parent);

### gst_pad_iterate_internal_links ()

    GstIterator *
    gst_pad_iterate_internal_links (GstPad *pad);

### gst_pad_iterate_internal_links_default ()

    GstIterator *
    gst_pad_iterate_internal_links_default
                                   (GstPad *pad,
                                    GstObject *parent);

### gst_pad_set_element_private ()

    void
    gst_pad_set_element_private (GstPad *pad,
                                 gpointer priv);

### gst_pad_get_element_private ()

    gpointer
    gst_pad_get_element_private (GstPad *pad);

### gst_pad_create_stream_id ()

    gchar *
    gst_pad_create_stream_id (GstPad *pad,
                              GstElement *parent,
                              const gchar *stream_id);

### gst_pad_create_stream_id_printf ()

    gchar *
    gst_pad_create_stream_id_printf (GstPad *pad,
                                     GstElement *parent,
                                     const gchar *stream_id,
                                     ...);

### gst_pad_create_stream_id_printf_valist ()

    gchar *
    gst_pad_create_stream_id_printf_valist
                                   (GstPad *pad,
                                    GstElement *parent,
                                    const gchar *stream_id,
                                    va_list var_args);

### gst_pad_get_stream_id ()

    gchar *
    gst_pad_get_stream_id (GstPad *pad);

### gst_pad_get_stream ()

    GstStream *
    gst_pad_get_stream (GstPad *pad);

### GstPadForwardFunction ()

    gboolean
    (*GstPadForwardFunction) (GstPad *pad,
                              gpointer user_data);

### gst_pad_forward ()

    gboolean
    gst_pad_forward (GstPad *pad,
                     GstPadForwardFunction forward,
                     gpointer user_data);

### gst_pad_chain ()

    GstFlowReturn
    gst_pad_chain (GstPad *pad,
                   GstBuffer *buffer);

### gst_pad_chain_list ()

    GstFlowReturn
    gst_pad_chain_list (GstPad *pad,
                        GstBufferList *list);

### gst_pad_start_task ()

    gboolean
    gst_pad_start_task (GstPad *pad,
                        GstTaskFunction func,
                        gpointer user_data,
                        GDestroyNotify notify);

### gst_pad_pause_task ()

    gboolean
    gst_pad_pause_task (GstPad *pad);

### gst_pad_stop_task ()

    gboolean
    gst_pad_stop_task (GstPad *pad);

### gst_pad_set_active ()

    gboolean
    gst_pad_set_active (GstPad *pad,
                        gboolean active);

### GST_PAD_GET_STREAM_LOCK()

    #define GST_PAD_GET_STREAM_LOCK(pad)    (&(GST_PAD_CAST(pad)->stream_rec_lock))

### GST_PAD_STREAM_LOCK()

    #define GST_PAD_STREAM_LOCK(pad)        g_rec_mutex_lock(GST_PAD_GET_STREAM_LOCK(pad))

### GST_PAD_STREAM_TRYLOCK()

    #define GST_PAD_STREAM_TRYLOCK(pad)     g_rec_mutex_trylock(GST_PAD_GET_STREAM_LOCK(pad))

### GST_PAD_STREAM_UNLOCK()

    #define GST_PAD_STREAM_UNLOCK(pad)      g_rec_mutex_unlock(GST_PAD_GET_STREAM_LOCK(pad))

### GST_PAD_NAME()

    #define GST_PAD_NAME(pad)		(GST_OBJECT_NAME(pad))

### GST_PAD_PARENT()

    #define GST_PAD_PARENT(pad)		(GST_ELEMENT_CAST(GST_OBJECT_PARENT(pad)))

### GST_PAD_ELEMENT_PRIVATE()

    #define GST_PAD_ELEMENT_PRIVATE(pad)    (GST_PAD_CAST(pad)->element_private)

### GST_PAD_PAD_TEMPLATE()

    #define GST_PAD_PAD_TEMPLATE(pad) (GST_PAD_CAST(pad)->padtemplate)

### GST_PAD_DIRECTION()

    #define GST_PAD_DIRECTION(pad)		(GST_PAD_CAST(pad)->direction)

### GST_PAD_LAST_FLOW_RETURN()

    #define GST_PAD_LAST_FLOW_RETURN(pad)   (GST_PAD_CAST(pad)->ABI.abi.last_flowret)

### GST_PAD_TASK()

    #define GST_PAD_TASK(pad)		(GST_PAD_CAST(pad)->task)

### GST_PAD_MODE()

    #define GST_PAD_MODE(pad)	        (GST_PAD_CAST(pad)->mode)

### GST_PAD_ACTIVATEFUNC()

    #define GST_PAD_ACTIVATEFUNC(pad) (GST_PAD_CAST(pad)->activatefunc)

### GST_PAD_ACTIVATEMODEFUNC()

    #define GST_PAD_ACTIVATEMODEFUNC(pad) (GST_PAD_CAST(pad)->activatemodefunc)

### GST_PAD_CHAINFUNC()

    #define GST_PAD_CHAINFUNC(pad)		(GST_PAD_CAST(pad)->chainfunc)

### GST_PAD_CHAINLISTFUNC()

    #define GST_PAD_CHAINLISTFUNC(pad)      (GST_PAD_CAST(pad)->chainlistfunc)

### GST_PAD_EVENTFUNC()

    #define GST_PAD_EVENTFUNC(pad)		(GST_PAD_CAST(pad)->eventfunc)

### GST_PAD_EVENTFULLFUNC()

    #define GST_PAD_EVENTFULLFUNC(pad) (GST_PAD_CAST(pad)->ABI.abi.eventfullfunc)

### GST_PAD_GETRANGEFUNC()

    #define GST_PAD_GETRANGEFUNC(pad) (GST_PAD_CAST(pad)->getrangefunc)

### GST_PAD_QUERYFUNC()

    #define GST_PAD_QUERYFUNC(pad)		(GST_PAD_CAST(pad)->queryfunc)

### GST_PAD_ITERINTLINKFUNC()

    #define GST_PAD_ITERINTLINKFUNC(pad)    (GST_PAD_CAST(pad)->iterintlinkfunc)

### GST_PAD_PEER()

    #define GST_PAD_PEER(pad)		(GST_PAD_CAST(pad)->peer)

### GST_PAD_LINKFUNC()

    #define GST_PAD_LINKFUNC(pad)		(GST_PAD_CAST(pad)->linkfunc)

### GST_PAD_UNLINKFUNC()

    #define GST_PAD_UNLINKFUNC(pad)		(GST_PAD_CAST(pad)->unlinkfunc)

### GST_PAD_IS_LINKED()

    #define GST_PAD_IS_LINKED(pad)		(GST_PAD_PEER(pad) != NULL)

### GST_PAD_IS_SRC()

    #define GST_PAD_IS_SRC(pad)		(GST_PAD_DIRECTION(pad) == GST_PAD_SRC)

### GST_PAD_IS_SINK()

    #define GST_PAD_IS_SINK(pad)		(GST_PAD_DIRECTION(pad) == GST_PAD_SINK)

### GST_PAD_IS_ACTIVE()

    #define GST_PAD_IS_ACTIVE(pad)          (GST_PAD_MODE(pad) != GST_PAD_MODE_NONE)

### GST_PAD_IS_BLOCKED()

    #define GST_PAD_IS_BLOCKED(pad)		(GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_BLOCKED))

### GST_PAD_IS_BLOCKING()

    #define GST_PAD_IS_BLOCKING(pad) (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_BLOCKING))

### GST_PAD_IS_FLUSHING()

    #define GST_PAD_IS_FLUSHING(pad) (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_FLUSHING))

### GST_PAD_SET_FLUSHING()

    #define GST_PAD_SET_FLUSHING(pad) (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_FLUSHING))

### GST_PAD_UNSET_FLUSHING()

    #define GST_PAD_UNSET_FLUSHING(pad) (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_FLUSHING))

### GST_PAD_IS_EOS()

    #define GST_PAD_IS_EOS(pad)	        (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_EOS))

### GST_PAD_NEEDS_RECONFIGURE()

    #define GST_PAD_NEEDS_RECONFIGURE(pad)  (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_NEED_RECONFIGURE))

### GST_PAD_HAS_PENDING_EVENTS()

    #define GST_PAD_HAS_PENDING_EVENTS(pad) (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_PENDING_EVENTS))

### GST_PAD_IS_FIXED_CAPS()

    #define GST_PAD_IS_FIXED_CAPS(pad) (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_FIXED_CAPS))

### GST_PAD_NEEDS_PARENT()

    #define GST_PAD_NEEDS_PARENT(pad)       (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_NEED_PARENT))

### GST_PAD_IS_PROXY_CAPS()

    #define GST_PAD_IS_PROXY_CAPS(pad)      (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_PROXY_CAPS))

### GST_PAD_SET_PROXY_CAPS()

    #define GST_PAD_SET_PROXY_CAPS(pad)     (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PROXY_CAPS))

### GST_PAD_UNSET_PROXY_CAPS()

    #define GST_PAD_UNSET_PROXY_CAPS(pad)   (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PROXY_CAPS))

### GST_PAD_IS_PROXY_ALLOCATION()

    #define GST_PAD_IS_PROXY_ALLOCATION(pad)    (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_PROXY_ALLOCATION))

### GST_PAD_SET_PROXY_ALLOCATION()

    #define GST_PAD_SET_PROXY_ALLOCATION(pad)   (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PROXY_ALLOCATION))

### GST_PAD_UNSET_PROXY_ALLOCATION()

    #define GST_PAD_UNSET_PROXY_ALLOCATION(pad) (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PROXY_ALLOCATION))

### GST_PAD_SET_PROXY_SCHEDULING()

    #define GST_PAD_SET_PROXY_SCHEDULING(pad)   (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PROXY_SCHEDULING))

### GST_PAD_UNSET_PROXY_SCHEDULING()

    #define GST_PAD_UNSET_PROXY_SCHEDULING(pad) (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PROXY_SCHEDULING))

### GST_PAD_IS_PROXY_SCHEDULING()

    #define GST_PAD_IS_PROXY_SCHEDULING(pad)    (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_PROXY_SCHEDULING))

### GST_PAD_IS_ACCEPT_INTERSECT()

    #define GST_PAD_IS_ACCEPT_INTERSECT(pad)    (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_ACCEPT_INTERSECT))

### GST_PAD_SET_ACCEPT_INTERSECT()

    #define GST_PAD_SET_ACCEPT_INTERSECT(pad)   (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_ACCEPT_INTERSECT))

### GST_PAD_UNSET_ACCEPT_INTERSECT()

    #define GST_PAD_UNSET_ACCEPT_INTERSECT(pad) (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_ACCEPT_INTERSECT))

### GST_PAD_IS_ACCEPT_TEMPLATE()

    #define GST_PAD_IS_ACCEPT_TEMPLATE(pad)    (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_ACCEPT_TEMPLATE))

### GST_PAD_SET_ACCEPT_TEMPLATE()

    #define GST_PAD_SET_ACCEPT_TEMPLATE(pad)   (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_ACCEPT_TEMPLATE))

### GST_PAD_UNSET_ACCEPT_TEMPLATE()

    #define GST_PAD_UNSET_ACCEPT_TEMPLATE(pad) (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_ACCEPT_TEMPLATE))

## Types and Values

### struct GstPad

    struct GstPad {
      gpointer                       element_private;

      GstPadTemplate                *padtemplate;

      GstPadDirection                direction;
    };

### enum GstPadDirection

#### Members

GST_PAD_UNKNOWN |  |
GST_PAD_SRC |  |
GST_PAD_SINK |  |

### enum GstPadFlags

#### Members

GST_PAD_FLAG_BLOCKED |  |
GST_PAD_FLAG_FLUSHING |  |
GST_PAD_FLAG_EOS |  |
GST_PAD_FLAG_BLOCKING |  |
GST_PAD_FLAG_NEED_PARENT |  |
GST_PAD_FLAG_NEED_RECONFIGURE |  |
GST_PAD_FLAG_PENDING_EVENTS |  |
GST_PAD_FLAG_FIXED_CAPS |  |
GST_PAD_FLAG_PROXY_CAPS |  |
GST_PAD_FLAG_PROXY_ALLOCATION |  |
GST_PAD_FLAG_PROXY_SCHEDULING |  |
GST_PAD_FLAG_ACCEPT_INTERSECT |  |
GST_PAD_FLAG_ACCEPT_TEMPLATE |  |
GST_PAD_FLAG_LAST |  |

### enum GstPadLinkReturn

#### Members

GST_PAD_LINK_OK |  |
GST_PAD_LINK_WRONG_HIERARCHY |  |
GST_PAD_LINK_WAS_LINKED |  |
GST_PAD_LINK_WRONG_DIRECTION |  |
GST_PAD_LINK_NOFORMAT |  |
GST_PAD_LINK_NOSCHED |  |
GST_PAD_LINK_REFUSED |  |

### enum GstPadLinkCheck

#### Members

GST_PAD_LINK_CHECK_NOTHING |  |
GST_PAD_LINK_CHECK_HIERARCHY |  |
GST_PAD_LINK_CHECK_TEMPLATE_CAPS |  |
GST_PAD_LINK_CHECK_CAPS |  |
GST_PAD_LINK_CHECK_DEFAULT |  |

### enum GstFlowReturn

#### Members

GST_FLOW_CUSTOM_SUCCESS_2 |  |
GST_FLOW_CUSTOM_SUCCESS_1 |  |
GST_FLOW_CUSTOM_SUCCESS |  |
GST_FLOW_OK |  |
GST_FLOW_NOT_LINKED |  |
GST_FLOW_FLUSHING |  |
GST_FLOW_EOS |  |
GST_FLOW_NOT_NEGOTIATED |  |
GST_FLOW_ERROR |  |
GST_FLOW_NOT_SUPPORTED |  |
GST_FLOW_CUSTOM_ERROR |  |
GST_FLOW_CUSTOM_ERROR_1 |  |
GST_FLOW_CUSTOM_ERROR_2 |  |

### enum GstPadMode

#### Members

GST_PAD_MODE_NONE |  |
GST_PAD_MODE_PUSH |  |
GST_PAD_MODE_PULL |  |

### enum GstPadProbeReturn

#### Members

GST_PAD_PROBE_DROP |  |
GST_PAD_PROBE_OK |  |
GST_PAD_PROBE_REMOVE |  |
GST_PAD_PROBE_PASS |  |
GST_PAD_PROBE_HANDLED |  |

### enum GstPadProbeType

#### Members

GST_PAD_PROBE_TYPE_INVALID |  |
GST_PAD_PROBE_TYPE_IDLE |  |
GST_PAD_PROBE_TYPE_BLOCK |  |
GST_PAD_PROBE_TYPE_BUFFER |  |
GST_PAD_PROBE_TYPE_BUFFER_LIST |  |
GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |  |
GST_PAD_PROBE_TYPE_EVENT_UPSTREAM |  |
GST_PAD_PROBE_TYPE_EVENT_FLUSH |  |
GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM |  |
GST_PAD_PROBE_TYPE_QUERY_UPSTREAM |  |
GST_PAD_PROBE_TYPE_PUSH |  |
GST_PAD_PROBE_TYPE_PULL |  |
GST_PAD_PROBE_TYPE_BLOCKING |  |
GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM |  |
GST_PAD_PROBE_TYPE_DATA_UPSTREAM |  |
GST_PAD_PROBE_TYPE_DATA_BOTH |  |
GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM |  |
GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM |  |
GST_PAD_PROBE_TYPE_EVENT_BOTH |  |
GST_PAD_PROBE_TYPE_QUERY_BOTH |  |
GST_PAD_PROBE_TYPE_ALL_BOTH |  |
GST_PAD_PROBE_TYPE_SCHEDULING |  |

### struct GstPadProbeInfo

    struct GstPadProbeInfo {
      GstPadProbeType type;
      gulong id;
      gpointer data;
      guint64 offset;
      guint size;
    };

## Property Details

### The `“caps”` property

      “caps”                     GstCaps *

The capabilities of the pad.

Flags: Read

### The `“direction”` property

      “direction”                GstPadDirection

The direction of the pad.

Flags: Read / Write / Construct Only

Default value: GST_PAD_UNKNOWN

### The `“offset”` property

      “offset”                   gint64

The running time offset of the pad.

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“template”` property

      “template”                 GstPadTemplate *

The GstPadTemplate of this pad.

Flags: Read / Write

## Signal Details

### The `“linked”` signal

    void
    user_function (GstPad  *gstpad,
                   GstPad  *arg1,
                   gpointer user_data)

Flags: Run Last

### The `“unlinked”` signal

    void
    user_function (GstPad  *gstpad,
                   GstPad  *arg1,
                   gpointer user_data)

Flags: Run Last