| <!-- ##### SECTION Title ##### --> |
| GstPad |
| |
| <!-- ##### SECTION Short_Description ##### --> |
| The connection between Elements |
| |
| <!-- ##### SECTION Long_Description ##### --> |
| <para> |
| Elements are connected to each other via "pads", which are extremely light-weight generic |
| connections. |
| |
| </para> |
| |
| <!-- ##### SECTION See_Also ##### --> |
| <para> |
| |
| </para> |
| |
| <!-- ##### MACRO GST_PAD_NAME ##### --> |
| <para> |
| Get the name of the pad. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_ELEMENT_PRIVATE ##### --> |
| <para> |
| Get the private data set by the element that owns the pad. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_PARENT ##### --> |
| <para> |
| Get the parent element of this pad. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_PADTEMPLATE ##### --> |
| <para> |
| Get the padtemplate that was used to create this pad. NULL if no padtemplate |
| was used. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_REALIZE ##### --> |
| <para> |
| Return the real pad of this pad. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_DIRECTION ##### --> |
| <para> |
| Get the pad direction. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_CAPS ##### --> |
| <para> |
| Get the capabilities of a pad. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_PEER ##### --> |
| <para> |
| Get the peerpad of this pad. |
| </para> |
| |
| @pad: the pad to query |
| |
| |
| <!-- ##### MACRO GST_PAD_CONNECTED ##### --> |
| <para> |
| Is this pad connected. |
| </para> |
| |
| @pad: the pad to check |
| |
| |
| <!-- ##### MACRO GST_PAD_CAN_PULL ##### --> |
| <para> |
| Can this pad be used to pull a buffer. |
| </para> |
| |
| @pad: the pad to check |
| |
| |
| <!-- ##### STRUCT GstPad ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### USER_FUNCTION GstPadChainFunction ##### --> |
| <para> |
| The function that will be called when chaining buffers. |
| </para> |
| |
| @pad: the pad that performed the chain |
| @buf: the buffer that is chained |
| |
| |
| <!-- ##### USER_FUNCTION GstPadGetFunction ##### --> |
| <para> |
| The function that will be called when pulling a buffer. |
| </para> |
| |
| @pad: the pad to get a buffer from |
| @Returns: a #GstBuffer |
| |
| |
| <!-- ##### USER_FUNCTION GstPadGetRegionFunction ##### --> |
| <para> |
| The function that will be called when pulling a region buffer. |
| You can specify which buffer to get using an offset/length pair or |
| a start/stop timecode pair. |
| </para> |
| |
| @pad: the pad to get a buffer from |
| @type: the type of region to get (time or offset based) |
| @offset: the offset of the region to get |
| @len: the length of the region to get |
| @Returns: a #GstBuffer |
| <!-- # Unused Parameters # --> |
| @size: the size of the region to get |
| |
| |
| <!-- ##### USER_FUNCTION GstPadQoSFunction ##### --> |
| <para> |
| The function that will be called when a QoS message is sent. |
| </para> |
| |
| @pad: the pad that sent the QoS message |
| @qos_message: the message |
| |
| |
| <!-- ##### USER_FUNCTION GstPadEOSFunction ##### --> |
| <para> |
| The function that will be called in an EOS case. |
| </para> |
| |
| @pad: the pad that needs to be set to EOS state |
| @Returns: TRUE if EOS was successful, FALSE otherwise |
| |
| |
| <!-- ##### ENUM GstPadNegotiateReturn ##### --> |
| <para> |
| The possible results from padnegotiation. |
| </para> |
| |
| @GST_PAD_NEGOTIATE_FAIL: The pads could not agree about the media type. |
| @GST_PAD_NEGOTIATE_AGREE: The pads agreed about the media type. |
| @GST_PAD_NEGOTIATE_TRY: The pad did not agree and suggests another media type. |
| |
| <!-- ##### USER_FUNCTION GstPadNegotiateFunction ##### --> |
| <para> |
| The function that will be called when negotiating. |
| </para> |
| |
| @pad: The pad that is being negotiated |
| @caps: The current caps that are being negotiated |
| @count: A counter to keep track of the negotiation process |
| @Returns: The result of the negotiation process |
| |
| |
| <!-- ##### USER_FUNCTION GstPadPushFunction ##### --> |
| <para> |
| |
| The function that will be called when pushing a buffers. |
| </para> |
| |
| @pad: the pad to push |
| @buf: a GstBuffer to push |
| |
| |
| <!-- ##### USER_FUNCTION GstPadPullFunction ##### --> |
| <para> |
| The function that will be called when pulling buffers. |
| </para> |
| |
| @pad: the pad to pull |
| @Returns: a GstBuffer |
| |
| |
| <!-- ##### ENUM GstRegionType ##### --> |
| <para> |
| the region types for #gst_pad_pullregion. |
| </para> |
| |
| @GST_REGION_NONE: no type specified |
| @GST_REGION_OFFSET_LEN: an offet/length pair |
| @GST_REGION_TIME_LEN: a time start/length pair |
| |
| <!-- ##### USER_FUNCTION GstPadPullRegionFunction ##### --> |
| <para> |
| The function that will be called when pulling a region buffer. |
| You can specify which buffer to get using an offset/length pair or |
| a start/stop timecode pair. |
| </para> |
| |
| @pad: the pad to get a buffer from |
| @type: the type of region to get (time or offset based) |
| @offset: the offset of the region to get |
| @len: the length of the region to get |
| @Returns: a #GstBuffer |
| </para> |
| |
| |
| <!-- ##### ENUM GstPadDirection ##### --> |
| <para> |
| The direction this pad is. |
| </para> |
| |
| @GST_PAD_UNKNOWN: direction is unknown |
| @GST_PAD_SRC: this is a source pad |
| @GST_PAD_SINK: this is a sink pad |
| |
| <!-- ##### ENUM GstPadFlags ##### --> |
| <para> |
| Flags for the pad. |
| </para> |
| |
| @GST_PAD_DISABLED: the pad is disabled |
| @GST_PAD_EOS: the pad is in end of stream state |
| @GST_PAD_FLAG_LAST: subclasses can use this number to enumerate their flags |
| |
| <!-- ##### FUNCTION gst_pad_new ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| @direction: |
| @Returns: |
| |
| |
| <!-- ##### MACRO gst_pad_destroy ##### --> |
| <para> |
| Destroy the pad. |
| </para> |
| |
| @pad: the pad to destroy |
| |
| |
| <!-- ##### FUNCTION gst_pad_new_from_template ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| @name: |
| @Returns: |
| <!-- # Unused Parameters # --> |
| @temp: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_direction ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_chain_function ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @chain: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_get_function ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @get: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_getregion_function ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @getregion: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_negotiate_function ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @nego: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_qos_function ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @qos: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_eos_function ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @eos: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_caps ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @caps: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_caps ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_check_compatibility ##### --> |
| <para> |
| |
| </para> |
| |
| @srcpad: |
| @sinkpad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_name ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @name: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_name ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_element_private ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @priv: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_element_private ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_parent ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @parent: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_parent ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_real_parent ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_add_ghost_pad ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @ghostpad: |
| |
| |
| <!-- ##### FUNCTION gst_pad_remove_ghost_pad ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @ghostpad: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_ghost_pad_list ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_peer ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_connect ##### --> |
| <para> |
| |
| </para> |
| |
| @srcpad: |
| @sinkpad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_disconnect ##### --> |
| <para> |
| |
| </para> |
| |
| @srcpad: |
| @sinkpad: |
| |
| |
| <!-- ##### FUNCTION gst_pad_push ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @buf: |
| <!-- # Unused Parameters # --> |
| @buffer: |
| |
| |
| <!-- ##### FUNCTION gst_pad_pull ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_pullregion ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @type: |
| @offset: |
| @len: |
| @Returns: |
| <!-- # Unused Parameters # --> |
| @size: |
| |
| |
| <!-- ##### FUNCTION gst_pad_set_eos ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_handle_qos ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @qos_message: |
| |
| |
| <!-- ##### MACRO gst_pad_eos ##### --> |
| <para> |
| Call the EOS function of the pad |
| </para> |
| |
| @pad: the pad to call the eos function of. |
| |
| |
| <!-- ##### FUNCTION gst_pad_load_and_connect ##### --> |
| <para> |
| |
| </para> |
| |
| @self: |
| @parent: |
| <!-- # Unused Parameters # --> |
| @element: |
| @elements: |
| |
| |
| <!-- ##### FUNCTION gst_pad_negotiate_proxy ##### --> |
| <para> |
| |
| </para> |
| |
| @srcpad: |
| @destpad: |
| @caps: |
| @counter: |
| @Returns: |
| <!-- # Unused Parameters # --> |
| @count: |
| |
| |
| <!-- ##### FUNCTION gst_pad_renegotiate ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_padtemplate ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_pad_get_padtemplate_caps ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### MACRO GST_RPAD_LEN ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| |
| |
| <!-- ##### MACRO GST_RPAD_OFFSET ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| |
| |
| <!-- ##### MACRO GST_RPAD_REGIONTYPE ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| |
| |
| <!-- ##### STRUCT GstRealPad ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @caps: |
| @direction: |
| @threadstate: |
| @peer: |
| @bufpen: |
| @regiontype: |
| @offset: |
| @len: |
| @chainfunc: |
| @getfunc: |
| @getregionfunc: |
| @qosfunc: |
| @eosfunc: |
| @pushfunc: |
| @pullfunc: |
| @pullregionfunc: |
| @negotiatefunc: |
| @ghostpads: |
| |
| <!-- ##### MACRO GST_RPAD_DIRECTION ##### --> |
| <para> |
| Get the direction of the real pad. |
| </para> |
| |
| @pad: the realpad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_CAPS ##### --> |
| <para> |
| Get the caps of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_PEER ##### --> |
| <para> |
| Get the peer element of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_BUFPEN ##### --> |
| <para> |
| Get the bufpen of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_CHAINFUNC ##### --> |
| <para> |
| Get the chain function of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_GETFUNC ##### --> |
| <para> |
| Get get getfunction of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_GETREGIONFUNC ##### --> |
| <para> |
| Get the getregion function of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_PUSHFUNC ##### --> |
| <para> |
| Get the pushfunction of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_PULLFUNC ##### --> |
| <para> |
| Get the pullfunction of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_PULLREGIONFUNC ##### --> |
| <para> |
| Get the pullregion function of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_QOSFUNC ##### --> |
| <para> |
| Get the QoS function of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_EOSFUNC ##### --> |
| <para> |
| Get the EOS function of the real pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### MACRO GST_RPAD_NEGOTIATEFUNC ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| |
| |
| <!-- ##### MACRO GST_GPAD_REALPAD ##### --> |
| <para> |
| Get the real pad of this ghost pad. |
| </para> |
| |
| @pad: the real pad to query. |
| |
| |
| <!-- ##### STRUCT GstGhostPad ##### --> |
| <para> |
| |
| </para> |
| |
| @pad: |
| @realpad: |
| |
| <!-- ##### FUNCTION gst_ghost_pad_new ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| @pad: |
| @Returns: |
| |
| |
| <!-- ##### TYPEDEF GstPadFactoryEntry ##### --> |
| <para> |
| Defines an entry for a padfactory. |
| </para> |
| |
| |
| <!-- ##### TYPEDEF GstPadFactory[] ##### --> |
| <para> |
| The padfactory. |
| </para> |
| |
| |
| <!-- ##### MACRO GST_PAD_FACTORY_SOMETIMES ##### --> |
| <para> |
| Indicate that this pad will become available depending |
| on the media type. Use this in the factory definition. |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_PAD_FACTORY_ALWAYS ##### --> |
| <para> |
| Indicate that this pad will always be available. |
| Use this in the factory definition. |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_PAD_FACTORY_REQUEST ##### --> |
| <para> |
| Indicates that this pad will be available on request. Use |
| this in the factory definition. |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_PAD_FACTORY_SINK ##### --> |
| <para> |
| Indicates a sinkpad for the padfactory. |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_PAD_FACTORY_SRC ##### --> |
| <para> |
| Indicates a srcpad for the padfactory. |
| </para> |
| |
| |
| |
| <!-- ##### MACRO GST_PAD_FACTORY_CAPS ##### --> |
| <para> |
| Starts the declaration of a the capabilities for this padtemplate. |
| </para> |
| |
| @a...: a capability factory |
| |
| |
| <!-- ##### ENUM GstPadPresence ##### --> |
| <para> |
| Indicates when this pad will become available. |
| </para> |
| |
| @GST_PAD_ALWAYS: the pad is always available |
| @GST_PAD_SOMETIMES: the pad will become available depending on the media stream |
| @GST_PAD_REQUEST: |
| |
| <!-- ##### STRUCT GstPadTemplate ##### --> |
| <para> |
| |
| </para> |
| |
| @object: |
| @name_template: |
| @direction: |
| @presence: |
| @caps: |
| |
| <!-- ##### MACRO GST_PADTEMPLATE_CAPS ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| |
| |
| <!-- ##### MACRO GST_PADTEMPLATE_DIRECTION ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| |
| |
| <!-- ##### MACRO GST_PADTEMPLATE_NAME_TEMPLATE ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| |
| |
| <!-- ##### MACRO GST_PADTEMPLATE_PRESENCE ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| |
| |
| <!-- ##### FUNCTION gst_padtemplate_new ##### --> |
| <para> |
| |
| </para> |
| |
| @factory: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_padtemplate_create ##### --> |
| <para> |
| |
| </para> |
| |
| @name_template: |
| @direction: |
| @presence: |
| @caps: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_padtemplate_load_thyself ##### --> |
| <para> |
| |
| </para> |
| |
| @parent: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_padtemplate_save_thyself ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| @parent: |
| @Returns: |
| <!-- # Unused Parameters # --> |
| @pad: |
| |
| |
| <!-- ##### FUNCTION gst_padtemplate_get_caps ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_padtemplate_get_caps_by_name ##### --> |
| <para> |
| |
| </para> |
| |
| @templ: |
| @name: |
| @Returns: |
| |
| |