mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
pad: add user data to chain functions
This commit is contained in:
parent
e122bae3ad
commit
2a8c98fe23
2 changed files with 83 additions and 40 deletions
83
gst/gstpad.c
83
gst/gstpad.c
|
@ -590,25 +590,25 @@ gst_pad_finalize (GObject * object)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pad->activatenotify)
|
if (pad->activatenotify)
|
||||||
pad->activatenotify (pad);
|
pad->activatenotify (pad->activatedata);
|
||||||
if (pad->activatemodenotify)
|
if (pad->activatemodenotify)
|
||||||
pad->activatemodenotify (pad);
|
pad->activatemodenotify (pad->activatemodedata);
|
||||||
if (pad->linknotify)
|
if (pad->linknotify)
|
||||||
pad->linknotify (pad);
|
pad->linknotify (pad->linkdata);
|
||||||
if (pad->unlinknotify)
|
if (pad->unlinknotify)
|
||||||
pad->unlinknotify (pad);
|
pad->unlinknotify (pad->unlinkdata);
|
||||||
if (pad->chainnotify)
|
if (pad->chainnotify)
|
||||||
pad->chainnotify (pad);
|
pad->chainnotify (pad->chaindata);
|
||||||
if (pad->chainlistnotify)
|
if (pad->chainlistnotify)
|
||||||
pad->chainlistnotify (pad);
|
pad->chainlistnotify (pad->chainlistdata);
|
||||||
if (pad->getrangenotify)
|
if (pad->getrangenotify)
|
||||||
pad->getrangenotify (pad);
|
pad->getrangenotify (pad->getrangedata);
|
||||||
if (pad->eventnotify)
|
if (pad->eventnotify)
|
||||||
pad->eventnotify (pad);
|
pad->eventnotify (pad->eventdata);
|
||||||
if (pad->querynotify)
|
if (pad->querynotify)
|
||||||
pad->querynotify (pad);
|
pad->querynotify (pad->querydata);
|
||||||
if (pad->iterintlinknotify)
|
if (pad->iterintlinknotify)
|
||||||
pad->iterintlinknotify (pad);
|
pad->iterintlinknotify (pad->iterintlinkdata);
|
||||||
|
|
||||||
g_rec_mutex_clear (&pad->stream_rec_lock);
|
g_rec_mutex_clear (&pad->stream_rec_lock);
|
||||||
g_cond_clear (&pad->block_cond);
|
g_cond_clear (&pad->block_cond);
|
||||||
|
@ -1342,6 +1342,7 @@ gst_pad_mark_reconfigure (GstPad * pad)
|
||||||
* gst_pad_set_activate_function_full:
|
* gst_pad_set_activate_function_full:
|
||||||
* @pad: a #GstPad.
|
* @pad: a #GstPad.
|
||||||
* @activate: the #GstPadActivateFunction to set.
|
* @activate: the #GstPadActivateFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @activate will not be used anymore.
|
* @notify: notify called when @activate will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given activate function for @pad. The activate function will
|
* Sets the given activate function for @pad. The activate function will
|
||||||
|
@ -1352,13 +1353,14 @@ gst_pad_mark_reconfigure (GstPad * pad)
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_activate_function_full (GstPad * pad,
|
gst_pad_set_activate_function_full (GstPad * pad,
|
||||||
GstPadActivateFunction activate, GDestroyNotify notify)
|
GstPadActivateFunction activate, gpointer user_data, GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
|
|
||||||
if (pad->activatenotify)
|
if (pad->activatenotify)
|
||||||
pad->activatenotify (pad);
|
pad->activatenotify (pad->activatedata);
|
||||||
GST_PAD_ACTIVATEFUNC (pad) = activate;
|
GST_PAD_ACTIVATEFUNC (pad) = activate;
|
||||||
|
pad->activatedata = user_data;
|
||||||
pad->activatenotify = notify;
|
pad->activatenotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "activatefunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "activatefunc set to %s",
|
||||||
|
@ -1369,6 +1371,7 @@ gst_pad_set_activate_function_full (GstPad * pad,
|
||||||
* gst_pad_set_activatemode_function_full:
|
* gst_pad_set_activatemode_function_full:
|
||||||
* @pad: a #GstPad.
|
* @pad: a #GstPad.
|
||||||
* @activatemode: the #GstPadActivateModeFunction to set.
|
* @activatemode: the #GstPadActivateModeFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @activatemode will not be used anymore.
|
* @notify: notify called when @activatemode will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given activate_mode function for the pad. An activate_mode function
|
* Sets the given activate_mode function for the pad. An activate_mode function
|
||||||
|
@ -1376,13 +1379,15 @@ gst_pad_set_activate_function_full (GstPad * pad,
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_activatemode_function_full (GstPad * pad,
|
gst_pad_set_activatemode_function_full (GstPad * pad,
|
||||||
GstPadActivateModeFunction activatemode, GDestroyNotify notify)
|
GstPadActivateModeFunction activatemode, gpointer user_data,
|
||||||
|
GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
|
|
||||||
if (pad->activatemodenotify)
|
if (pad->activatemodenotify)
|
||||||
pad->activatemodenotify (pad);
|
pad->activatemodenotify (pad->activatemodedata);
|
||||||
GST_PAD_ACTIVATEMODEFUNC (pad) = activatemode;
|
GST_PAD_ACTIVATEMODEFUNC (pad) = activatemode;
|
||||||
|
pad->activatemodedata = user_data;
|
||||||
pad->activatemodenotify = notify;
|
pad->activatemodenotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "activatemodefunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "activatemodefunc set to %s",
|
||||||
|
@ -1393,6 +1398,7 @@ gst_pad_set_activatemode_function_full (GstPad * pad,
|
||||||
* gst_pad_set_chain_function_full:
|
* gst_pad_set_chain_function_full:
|
||||||
* @pad: a sink #GstPad.
|
* @pad: a sink #GstPad.
|
||||||
* @chain: the #GstPadChainFunction to set.
|
* @chain: the #GstPadChainFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @chain will not be used anymore.
|
* @notify: notify called when @chain will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given chain function for the pad. The chain function is called to
|
* Sets the given chain function for the pad. The chain function is called to
|
||||||
|
@ -1400,14 +1406,15 @@ gst_pad_set_activatemode_function_full (GstPad * pad,
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_chain_function_full (GstPad * pad, GstPadChainFunction chain,
|
gst_pad_set_chain_function_full (GstPad * pad, GstPadChainFunction chain,
|
||||||
GDestroyNotify notify)
|
gpointer user_data, GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
g_return_if_fail (GST_PAD_IS_SINK (pad));
|
g_return_if_fail (GST_PAD_IS_SINK (pad));
|
||||||
|
|
||||||
if (pad->chainnotify)
|
if (pad->chainnotify)
|
||||||
pad->chainnotify (pad);
|
pad->chainnotify (pad->chaindata);
|
||||||
GST_PAD_CHAINFUNC (pad) = chain;
|
GST_PAD_CHAINFUNC (pad) = chain;
|
||||||
|
pad->chaindata = user_data;
|
||||||
pad->chainnotify = notify;
|
pad->chainnotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "chainfunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "chainfunc set to %s",
|
||||||
|
@ -1418,6 +1425,7 @@ gst_pad_set_chain_function_full (GstPad * pad, GstPadChainFunction chain,
|
||||||
* gst_pad_set_chain_list_function_full:
|
* gst_pad_set_chain_list_function_full:
|
||||||
* @pad: a sink #GstPad.
|
* @pad: a sink #GstPad.
|
||||||
* @chainlist: the #GstPadChainListFunction to set.
|
* @chainlist: the #GstPadChainListFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @chainlist will not be used anymore.
|
* @notify: notify called when @chainlist will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given chain list function for the pad. The chainlist function is
|
* Sets the given chain list function for the pad. The chainlist function is
|
||||||
|
@ -1428,14 +1436,16 @@ gst_pad_set_chain_function_full (GstPad * pad, GstPadChainFunction chain,
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_chain_list_function_full (GstPad * pad,
|
gst_pad_set_chain_list_function_full (GstPad * pad,
|
||||||
GstPadChainListFunction chainlist, GDestroyNotify notify)
|
GstPadChainListFunction chainlist, gpointer user_data,
|
||||||
|
GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
g_return_if_fail (GST_PAD_IS_SINK (pad));
|
g_return_if_fail (GST_PAD_IS_SINK (pad));
|
||||||
|
|
||||||
if (pad->chainlistnotify)
|
if (pad->chainlistnotify)
|
||||||
pad->chainlistnotify (pad);
|
pad->chainlistnotify (pad->chainlistdata);
|
||||||
GST_PAD_CHAINLISTFUNC (pad) = chainlist;
|
GST_PAD_CHAINLISTFUNC (pad) = chainlist;
|
||||||
|
pad->chainlistdata = user_data;
|
||||||
pad->chainlistnotify = notify;
|
pad->chainlistnotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "chainlistfunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "chainlistfunc set to %s",
|
||||||
|
@ -1446,6 +1456,7 @@ gst_pad_set_chain_list_function_full (GstPad * pad,
|
||||||
* gst_pad_set_getrange_function_full:
|
* gst_pad_set_getrange_function_full:
|
||||||
* @pad: a source #GstPad.
|
* @pad: a source #GstPad.
|
||||||
* @get: the #GstPadGetRangeFunction to set.
|
* @get: the #GstPadGetRangeFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @get will not be used anymore.
|
* @notify: notify called when @get will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given getrange function for the pad. The getrange function is
|
* Sets the given getrange function for the pad. The getrange function is
|
||||||
|
@ -1454,14 +1465,15 @@ gst_pad_set_chain_list_function_full (GstPad * pad,
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_getrange_function_full (GstPad * pad, GstPadGetRangeFunction get,
|
gst_pad_set_getrange_function_full (GstPad * pad, GstPadGetRangeFunction get,
|
||||||
GDestroyNotify notify)
|
gpointer user_data, GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
g_return_if_fail (GST_PAD_IS_SRC (pad));
|
g_return_if_fail (GST_PAD_IS_SRC (pad));
|
||||||
|
|
||||||
if (pad->getrangenotify)
|
if (pad->getrangenotify)
|
||||||
pad->getrangenotify (pad);
|
pad->getrangenotify (pad->getrangedata);
|
||||||
GST_PAD_GETRANGEFUNC (pad) = get;
|
GST_PAD_GETRANGEFUNC (pad) = get;
|
||||||
|
pad->getrangedata = user_data;
|
||||||
pad->getrangenotify = notify;
|
pad->getrangenotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "getrangefunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "getrangefunc set to %s",
|
||||||
|
@ -1472,19 +1484,21 @@ gst_pad_set_getrange_function_full (GstPad * pad, GstPadGetRangeFunction get,
|
||||||
* gst_pad_set_event_function_full:
|
* gst_pad_set_event_function_full:
|
||||||
* @pad: a #GstPad of either direction.
|
* @pad: a #GstPad of either direction.
|
||||||
* @event: the #GstPadEventFunction to set.
|
* @event: the #GstPadEventFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @event will not be used anymore.
|
* @notify: notify called when @event will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given event handler for the pad.
|
* Sets the given event handler for the pad.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_event_function_full (GstPad * pad, GstPadEventFunction event,
|
gst_pad_set_event_function_full (GstPad * pad, GstPadEventFunction event,
|
||||||
GDestroyNotify notify)
|
gpointer user_data, GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
|
|
||||||
if (pad->eventnotify)
|
if (pad->eventnotify)
|
||||||
pad->eventnotify (pad);
|
pad->eventnotify (pad->eventdata);
|
||||||
GST_PAD_EVENTFUNC (pad) = event;
|
GST_PAD_EVENTFUNC (pad) = event;
|
||||||
|
pad->eventdata = user_data;
|
||||||
pad->eventnotify = notify;
|
pad->eventnotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "eventfunc for set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "eventfunc for set to %s",
|
||||||
|
@ -1495,19 +1509,21 @@ gst_pad_set_event_function_full (GstPad * pad, GstPadEventFunction event,
|
||||||
* gst_pad_set_query_function_full:
|
* gst_pad_set_query_function_full:
|
||||||
* @pad: a #GstPad of either direction.
|
* @pad: a #GstPad of either direction.
|
||||||
* @query: the #GstPadQueryFunction to set.
|
* @query: the #GstPadQueryFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @query will not be used anymore.
|
* @notify: notify called when @query will not be used anymore.
|
||||||
*
|
*
|
||||||
* Set the given query function for the pad.
|
* Set the given query function for the pad.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_query_function_full (GstPad * pad, GstPadQueryFunction query,
|
gst_pad_set_query_function_full (GstPad * pad, GstPadQueryFunction query,
|
||||||
GDestroyNotify notify)
|
gpointer user_data, GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
|
|
||||||
if (pad->querynotify)
|
if (pad->querynotify)
|
||||||
pad->querynotify (pad);
|
pad->querynotify (pad->querydata);
|
||||||
GST_PAD_QUERYFUNC (pad) = query;
|
GST_PAD_QUERYFUNC (pad) = query;
|
||||||
|
pad->querydata = user_data;
|
||||||
pad->querynotify = notify;
|
pad->querynotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "queryfunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "queryfunc set to %s",
|
||||||
|
@ -1518,6 +1534,7 @@ gst_pad_set_query_function_full (GstPad * pad, GstPadQueryFunction query,
|
||||||
* gst_pad_set_iterate_internal_links_function_full:
|
* gst_pad_set_iterate_internal_links_function_full:
|
||||||
* @pad: a #GstPad of either direction.
|
* @pad: a #GstPad of either direction.
|
||||||
* @iterintlink: the #GstPadIterIntLinkFunction to set.
|
* @iterintlink: the #GstPadIterIntLinkFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @iterintlink will not be used anymore.
|
* @notify: notify called when @iterintlink will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given internal link iterator function for the pad.
|
* Sets the given internal link iterator function for the pad.
|
||||||
|
@ -1526,13 +1543,15 @@ gst_pad_set_query_function_full (GstPad * pad, GstPadQueryFunction query,
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
|
gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
|
||||||
GstPadIterIntLinkFunction iterintlink, GDestroyNotify notify)
|
GstPadIterIntLinkFunction iterintlink, gpointer user_data,
|
||||||
|
GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
|
|
||||||
if (pad->iterintlinknotify)
|
if (pad->iterintlinknotify)
|
||||||
pad->iterintlinknotify (pad);
|
pad->iterintlinknotify (pad->iterintlinkdata);
|
||||||
GST_PAD_ITERINTLINKFUNC (pad) = iterintlink;
|
GST_PAD_ITERINTLINKFUNC (pad) = iterintlink;
|
||||||
|
pad->iterintlinkdata = user_data;
|
||||||
pad->iterintlinknotify = notify;
|
pad->iterintlinknotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "internal link iterator set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "internal link iterator set to %s",
|
||||||
|
@ -1543,6 +1562,7 @@ gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
|
||||||
* gst_pad_set_link_function_full:
|
* gst_pad_set_link_function_full:
|
||||||
* @pad: a #GstPad.
|
* @pad: a #GstPad.
|
||||||
* @link: the #GstPadLinkFunction to set.
|
* @link: the #GstPadLinkFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @link will not be used anymore.
|
* @notify: notify called when @link will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given link function for the pad. It will be called when
|
* Sets the given link function for the pad. It will be called when
|
||||||
|
@ -1559,13 +1579,14 @@ gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_link_function_full (GstPad * pad, GstPadLinkFunction link,
|
gst_pad_set_link_function_full (GstPad * pad, GstPadLinkFunction link,
|
||||||
GDestroyNotify notify)
|
gpointer user_data, GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
|
|
||||||
if (pad->linknotify)
|
if (pad->linknotify)
|
||||||
pad->linknotify (pad);
|
pad->linknotify (pad->linkdata);
|
||||||
GST_PAD_LINKFUNC (pad) = link;
|
GST_PAD_LINKFUNC (pad) = link;
|
||||||
|
pad->linkdata = user_data;
|
||||||
pad->linknotify = notify;
|
pad->linknotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "linkfunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "linkfunc set to %s",
|
||||||
|
@ -1576,6 +1597,7 @@ gst_pad_set_link_function_full (GstPad * pad, GstPadLinkFunction link,
|
||||||
* gst_pad_set_unlink_function_full:
|
* gst_pad_set_unlink_function_full:
|
||||||
* @pad: a #GstPad.
|
* @pad: a #GstPad.
|
||||||
* @unlink: the #GstPadUnlinkFunction to set.
|
* @unlink: the #GstPadUnlinkFunction to set.
|
||||||
|
* @user_data: user_data passed to @notify
|
||||||
* @notify: notify called when @unlink will not be used anymore.
|
* @notify: notify called when @unlink will not be used anymore.
|
||||||
*
|
*
|
||||||
* Sets the given unlink function for the pad. It will be called
|
* Sets the given unlink function for the pad. It will be called
|
||||||
|
@ -1583,13 +1605,14 @@ gst_pad_set_link_function_full (GstPad * pad, GstPadLinkFunction link,
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_pad_set_unlink_function_full (GstPad * pad, GstPadUnlinkFunction unlink,
|
gst_pad_set_unlink_function_full (GstPad * pad, GstPadUnlinkFunction unlink,
|
||||||
GDestroyNotify notify)
|
gpointer user_data, GDestroyNotify notify)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
|
|
||||||
if (pad->unlinknotify)
|
if (pad->unlinknotify)
|
||||||
pad->unlinknotify (pad);
|
pad->unlinknotify (pad->unlinkdata);
|
||||||
GST_PAD_UNLINKFUNC (pad) = unlink;
|
GST_PAD_UNLINKFUNC (pad) = unlink;
|
||||||
|
pad->unlinkdata = user_data;
|
||||||
pad->unlinknotify = notify;
|
pad->unlinknotify = notify;
|
||||||
|
|
||||||
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "unlinkfunc set to %s",
|
GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "unlinkfunc set to %s",
|
||||||
|
|
40
gst/gstpad.h
40
gst/gstpad.h
|
@ -647,25 +647,33 @@ struct _GstPad {
|
||||||
|
|
||||||
GstPadMode mode;
|
GstPadMode mode;
|
||||||
GstPadActivateFunction activatefunc;
|
GstPadActivateFunction activatefunc;
|
||||||
|
gpointer activatedata;
|
||||||
GDestroyNotify activatenotify;
|
GDestroyNotify activatenotify;
|
||||||
GstPadActivateModeFunction activatemodefunc;
|
GstPadActivateModeFunction activatemodefunc;
|
||||||
|
gpointer activatemodedata;
|
||||||
GDestroyNotify activatemodenotify;
|
GDestroyNotify activatemodenotify;
|
||||||
|
|
||||||
/* pad link */
|
/* pad link */
|
||||||
GstPad *peer;
|
GstPad *peer;
|
||||||
GstPadLinkFunction linkfunc;
|
GstPadLinkFunction linkfunc;
|
||||||
|
gpointer linkdata;
|
||||||
GDestroyNotify linknotify;
|
GDestroyNotify linknotify;
|
||||||
GstPadUnlinkFunction unlinkfunc;
|
GstPadUnlinkFunction unlinkfunc;
|
||||||
|
gpointer unlinkdata;
|
||||||
GDestroyNotify unlinknotify;
|
GDestroyNotify unlinknotify;
|
||||||
|
|
||||||
/* data transport functions */
|
/* data transport functions */
|
||||||
GstPadChainFunction chainfunc;
|
GstPadChainFunction chainfunc;
|
||||||
|
gpointer chaindata;
|
||||||
GDestroyNotify chainnotify;
|
GDestroyNotify chainnotify;
|
||||||
GstPadChainListFunction chainlistfunc;
|
GstPadChainListFunction chainlistfunc;
|
||||||
|
gpointer chainlistdata;
|
||||||
GDestroyNotify chainlistnotify;
|
GDestroyNotify chainlistnotify;
|
||||||
GstPadGetRangeFunction getrangefunc;
|
GstPadGetRangeFunction getrangefunc;
|
||||||
|
gpointer getrangedata;
|
||||||
GDestroyNotify getrangenotify;
|
GDestroyNotify getrangenotify;
|
||||||
GstPadEventFunction eventfunc;
|
GstPadEventFunction eventfunc;
|
||||||
|
gpointer eventdata;
|
||||||
GDestroyNotify eventnotify;
|
GDestroyNotify eventnotify;
|
||||||
|
|
||||||
/* pad offset */
|
/* pad offset */
|
||||||
|
@ -673,10 +681,12 @@ struct _GstPad {
|
||||||
|
|
||||||
/* generic query method */
|
/* generic query method */
|
||||||
GstPadQueryFunction queryfunc;
|
GstPadQueryFunction queryfunc;
|
||||||
|
gpointer querydata;
|
||||||
GDestroyNotify querynotify;
|
GDestroyNotify querynotify;
|
||||||
|
|
||||||
/* internal links */
|
/* internal links */
|
||||||
GstPadIterIntLinkFunction iterintlinkfunc;
|
GstPadIterIntLinkFunction iterintlinkfunc;
|
||||||
|
gpointer iterintlinkdata;
|
||||||
GDestroyNotify iterintlinknotify;
|
GDestroyNotify iterintlinknotify;
|
||||||
|
|
||||||
/* counts number of probes attached. */
|
/* counts number of probes attached. */
|
||||||
|
@ -843,41 +853,49 @@ void gst_pad_sticky_events_foreach (GstPad *pad, Gs
|
||||||
/* data passing setup functions */
|
/* data passing setup functions */
|
||||||
void gst_pad_set_activate_function_full (GstPad *pad,
|
void gst_pad_set_activate_function_full (GstPad *pad,
|
||||||
GstPadActivateFunction activate,
|
GstPadActivateFunction activate,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
void gst_pad_set_activatemode_function_full (GstPad *pad,
|
void gst_pad_set_activatemode_function_full (GstPad *pad,
|
||||||
GstPadActivateModeFunction activatemode,
|
GstPadActivateModeFunction activatemode,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
/* data passing functions */
|
/* data passing functions */
|
||||||
void gst_pad_set_chain_function_full (GstPad *pad,
|
void gst_pad_set_chain_function_full (GstPad *pad,
|
||||||
GstPadChainFunction chain,
|
GstPadChainFunction chain,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
void gst_pad_set_chain_list_function_full (GstPad *pad,
|
void gst_pad_set_chain_list_function_full (GstPad *pad,
|
||||||
GstPadChainListFunction chainlist,
|
GstPadChainListFunction chainlist,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
void gst_pad_set_getrange_function_full (GstPad *pad,
|
void gst_pad_set_getrange_function_full (GstPad *pad,
|
||||||
GstPadGetRangeFunction get,
|
GstPadGetRangeFunction get,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
void gst_pad_set_event_function_full (GstPad *pad,
|
void gst_pad_set_event_function_full (GstPad *pad,
|
||||||
GstPadEventFunction event,
|
GstPadEventFunction event,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
|
|
||||||
#define gst_pad_set_activate_function(p,f) gst_pad_set_activate_function_full((p),(f),NULL)
|
#define gst_pad_set_activate_function(p,f) gst_pad_set_activate_function_full((p),(f),NULL,NULL)
|
||||||
#define gst_pad_set_activatemode_function(p,f) gst_pad_set_activatemode_function_full((p),(f),NULL)
|
#define gst_pad_set_activatemode_function(p,f) gst_pad_set_activatemode_function_full((p),(f),NULL,NULL)
|
||||||
#define gst_pad_set_chain_function(p,f) gst_pad_set_chain_function_full((p),(f),NULL)
|
#define gst_pad_set_chain_function(p,f) gst_pad_set_chain_function_full((p),(f),NULL,NULL)
|
||||||
#define gst_pad_set_chain_list_function(p,f) gst_pad_set_chain_list_function_full((p),(f),NULL)
|
#define gst_pad_set_chain_list_function(p,f) gst_pad_set_chain_list_function_full((p),(f),NULL,NULL)
|
||||||
#define gst_pad_set_getrange_function(p,f) gst_pad_set_getrange_function_full((p),(f),NULL)
|
#define gst_pad_set_getrange_function(p,f) gst_pad_set_getrange_function_full((p),(f),NULL,NULL)
|
||||||
#define gst_pad_set_event_function(p,f) gst_pad_set_event_function_full((p),(f),NULL)
|
#define gst_pad_set_event_function(p,f) gst_pad_set_event_function_full((p),(f),NULL,NULL)
|
||||||
|
|
||||||
/* pad links */
|
/* pad links */
|
||||||
void gst_pad_set_link_function_full (GstPad *pad,
|
void gst_pad_set_link_function_full (GstPad *pad,
|
||||||
GstPadLinkFunction link,
|
GstPadLinkFunction link,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
void gst_pad_set_unlink_function_full (GstPad *pad,
|
void gst_pad_set_unlink_function_full (GstPad *pad,
|
||||||
GstPadUnlinkFunction unlink,
|
GstPadUnlinkFunction unlink,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
|
|
||||||
#define gst_pad_set_link_function(p,f) gst_pad_set_link_function_full((p),(f),NULL)
|
#define gst_pad_set_link_function(p,f) gst_pad_set_link_function_full((p),(f),NULL,NULL)
|
||||||
#define gst_pad_set_unlink_function(p,f) gst_pad_set_unlink_function_full((p),(f),NULL)
|
#define gst_pad_set_unlink_function(p,f) gst_pad_set_unlink_function_full((p),(f),NULL,NULL)
|
||||||
|
|
||||||
gboolean gst_pad_can_link (GstPad *srcpad, GstPad *sinkpad);
|
gboolean gst_pad_can_link (GstPad *srcpad, GstPad *sinkpad);
|
||||||
GstPadLinkReturn gst_pad_link (GstPad *srcpad, GstPad *sinkpad);
|
GstPadLinkReturn gst_pad_link (GstPad *srcpad, GstPad *sinkpad);
|
||||||
|
@ -926,21 +944,23 @@ gboolean gst_pad_stop_task (GstPad *pad);
|
||||||
/* internal links */
|
/* internal links */
|
||||||
void gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
|
void gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
|
||||||
GstPadIterIntLinkFunction iterintlink,
|
GstPadIterIntLinkFunction iterintlink,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
GstIterator * gst_pad_iterate_internal_links (GstPad * pad);
|
GstIterator * gst_pad_iterate_internal_links (GstPad * pad);
|
||||||
GstIterator * gst_pad_iterate_internal_links_default (GstPad * pad, GstObject *parent);
|
GstIterator * gst_pad_iterate_internal_links_default (GstPad * pad, GstObject *parent);
|
||||||
|
|
||||||
#define gst_pad_set_iterate_internal_links_function(p,f) gst_pad_set_iterate_internal_links_function_full((p),(f),NULL)
|
#define gst_pad_set_iterate_internal_links_function(p,f) gst_pad_set_iterate_internal_links_function_full((p),(f),NULL,NULL)
|
||||||
|
|
||||||
/* generic query function */
|
/* generic query function */
|
||||||
gboolean gst_pad_query (GstPad *pad, GstQuery *query);
|
gboolean gst_pad_query (GstPad *pad, GstQuery *query);
|
||||||
gboolean gst_pad_peer_query (GstPad *pad, GstQuery *query);
|
gboolean gst_pad_peer_query (GstPad *pad, GstQuery *query);
|
||||||
void gst_pad_set_query_function_full (GstPad *pad, GstPadQueryFunction query,
|
void gst_pad_set_query_function_full (GstPad *pad, GstPadQueryFunction query,
|
||||||
|
gpointer user_data,
|
||||||
GDestroyNotify notify);
|
GDestroyNotify notify);
|
||||||
gboolean gst_pad_query_default (GstPad *pad, GstObject *parent,
|
gboolean gst_pad_query_default (GstPad *pad, GstObject *parent,
|
||||||
GstQuery *query);
|
GstQuery *query);
|
||||||
|
|
||||||
#define gst_pad_set_query_function(p,f) gst_pad_set_query_function_full((p),(f),NULL)
|
#define gst_pad_set_query_function(p,f) gst_pad_set_query_function_full((p),(f),NULL,NULL)
|
||||||
|
|
||||||
/* misc helper functions */
|
/* misc helper functions */
|
||||||
gboolean gst_pad_forward (GstPad *pad, GstPadForwardFunction forward,
|
gboolean gst_pad_forward (GstPad *pad, GstPadForwardFunction forward,
|
||||||
|
|
Loading…
Reference in a new issue