+ changed connection/connect/conn/disconnect/connected/... to link/link/link/unlink/linked/... and moved connectish f...

Original commit message from CVS:
+ changed connection/connect/conn/disconnect/connected/... to
link/link/link/unlink/linked/... and moved connectish files to linkish files
(closes bug#103843)
This commit is contained in:
Leif Johnson 2003-01-24 18:08:39 +00:00
parent 31105a5c6f
commit 407c7a3ce8
32 changed files with 494 additions and 347 deletions

View file

@ -53,7 +53,7 @@ GStreamer itself is running correctly.
<answer> <answer>
<para> <para>
You can test this by trying to play a sine tone. For this, you need to You can test this by trying to play a sine tone. For this, you need to
connect the sinesrc plug-in to an output plug-in that matches your hardware. link the sinesrc plug-in to an output plug-in that matches your hardware.
A (non-complete) list of output plug-ins for audio is A (non-complete) list of output plug-ins for audio is
<itemizedlist> <itemizedlist>
<listitem><para>osssink for OSS output</para></listitem> <listitem><para>osssink for OSS output</para></listitem>

View file

@ -139,8 +139,8 @@ gst_scheduler_unlock_element
gst_scheduler_yield gst_scheduler_yield
gst_scheduler_interrupt gst_scheduler_interrupt
gst_scheduler_error gst_scheduler_error
gst_scheduler_pad_connect gst_scheduler_pad_link
gst_scheduler_pad_disconnect gst_scheduler_pad_unlink
gst_scheduler_pad_select gst_scheduler_pad_select
gst_scheduler_add_scheduler gst_scheduler_add_scheduler
gst_scheduler_remove_scheduler gst_scheduler_remove_scheduler
@ -454,14 +454,14 @@ gst_element_get_pad_template
gst_element_get_pad_template_list gst_element_get_pad_template_list
gst_element_class_add_pad_template gst_element_class_add_pad_template
gst_element_connect gst_element_link
gst_element_connect_many gst_element_link_many
gst_element_connect_filtered gst_element_link_filtered
gst_element_connect_pads gst_element_link_pads
gst_element_connect_pads_filtered gst_element_link_pads_filtered
gst_element_disconnect gst_element_unlink
gst_element_disconnect_many gst_element_unlink_many
gst_element_disconnect_pads gst_element_unlink_pads
gst_element_get_compatible_pad gst_element_get_compatible_pad
gst_element_get_compatible_pad_filtered gst_element_get_compatible_pad_filtered
gst_element_get_compatible_pad_template gst_element_get_compatible_pad_template
@ -835,7 +835,7 @@ GST_PAD_PEER
GST_PAD_CAN_PULL GST_PAD_CAN_PULL
GST_PAD_IS_SINK GST_PAD_IS_SINK
GST_PAD_IS_SRC GST_PAD_IS_SRC
GST_PAD_IS_CONNECTED GST_PAD_IS_LINKED
GST_PAD_IS_ACTIVE GST_PAD_IS_ACTIVE
GST_PAD_IS_USABLE GST_PAD_IS_USABLE
@ -846,11 +846,11 @@ GstPadBufferPoolFunction
GstPadGetCapsFunction GstPadGetCapsFunction
GstPadEventFunction GstPadEventFunction
GstPadConnectFunction GstPadLinkFunction
GstPadConnectReturn GstPadLinkReturn
GstPadConvertFunction GstPadConvertFunction
GstPadDispatcherFunction GstPadDispatcherFunction
GstPadIntConnFunction GstPadIntLinkFunction
GstPadQueryFunction GstPadQueryFunction
GstPadEventMaskFunction GstPadEventMaskFunction
@ -872,7 +872,7 @@ gst_pad_get_direction
gst_pad_set_chain_function gst_pad_set_chain_function
gst_pad_set_get_function gst_pad_set_get_function
gst_pad_set_bufferpool_function gst_pad_set_bufferpool_function
gst_pad_set_connect_function gst_pad_set_link_function
gst_pad_set_getcaps_function gst_pad_set_getcaps_function
gst_pad_try_set_caps gst_pad_try_set_caps
gst_pad_get_caps gst_pad_get_caps
@ -888,18 +888,18 @@ gst_pad_add_ghost_pad
gst_pad_remove_ghost_pad gst_pad_remove_ghost_pad
gst_pad_get_ghost_pad_list gst_pad_get_ghost_pad_list
gst_pad_get_peer gst_pad_get_peer
gst_pad_connect gst_pad_link
gst_pad_connect_filtered gst_pad_link_filtered
gst_pad_reconnect_filtered gst_pad_relink_filtered
gst_pad_try_reconnect_filtered gst_pad_try_relink_filtered
gst_pad_disconnect gst_pad_unlink
gst_pad_can_connect gst_pad_can_link
gst_pad_can_connect_filtered gst_pad_can_link_filtered
gst_pad_push gst_pad_push
gst_pad_pull gst_pad_pull
gst_pad_get_bufferpool gst_pad_get_bufferpool
gst_pad_load_and_connect gst_pad_load_and_link
gst_pad_proxy_connect gst_pad_proxy_link
gst_pad_get_pad_template gst_pad_get_pad_template
gst_pad_get_pad_template_caps gst_pad_get_pad_template_caps
gst_pad_get_allowed_caps gst_pad_get_allowed_caps
@ -925,9 +925,9 @@ gst_pad_get_formats
gst_pad_get_formats_default gst_pad_get_formats_default
gst_pad_set_formats_function gst_pad_set_formats_function
gst_pad_get_internal_connections gst_pad_get_internal_links
gst_pad_get_internal_connections_default gst_pad_get_internal_links_default
gst_pad_set_internal_connection_function gst_pad_set_internal_link_function
gst_pad_set_query_function gst_pad_set_query_function
gst_pad_query gst_pad_query
@ -957,10 +957,10 @@ GST_RPAD_CHAINHANDLER
GST_RPAD_EVENTFUNC GST_RPAD_EVENTFUNC
GST_RPAD_EVENTHANDLER GST_RPAD_EVENTHANDLER
GST_RPAD_GETHANDLER GST_RPAD_GETHANDLER
GST_RPAD_CONNECTFUNC GST_RPAD_LINKFUNC
GST_RPAD_GETCAPSFUNC GST_RPAD_GETCAPSFUNC
GST_RPAD_CONVERTFUNC GST_RPAD_CONVERTFUNC
GST_RPAD_INTCONNFUNC GST_RPAD_INTLINKFUNC
GST_RPAD_QUERYFUNC GST_RPAD_QUERYFUNC
GST_RPAD_EVENTMASKFUNC GST_RPAD_EVENTMASKFUNC
GST_RPAD_FORMATSFUNC GST_RPAD_FORMATSFUNC
@ -1003,8 +1003,8 @@ GST_IS_GHOST_PAD
GST_IS_GHOST_PAD_CLASS GST_IS_GHOST_PAD_CLASS
GST_IS_GHOST_PAD_FAST GST_IS_GHOST_PAD_FAST
gst_ghost_pad_get_type gst_ghost_pad_get_type
GST_TYPE_PAD_CONNECT_RETURN GST_TYPE_PAD_LINK_RETURN
gst_pad_connect_return_get_type gst_pad_link_return_get_type
GST_TYPE_PAD_DIRECTION GST_TYPE_PAD_DIRECTION
gst_pad_direction_get_type gst_pad_direction_get_type
GST_TYPE_PAD_FLAGS GST_TYPE_PAD_FLAGS

View file

@ -20,13 +20,6 @@ of being fed with data. Cothreads are usually used by a #GstScheduler.
#GstScheduler #GstScheduler
</para> </para>
<!-- ##### MACRO CURRENT_STACK_FRAME ##### -->
<para>
Get the current stack frame.
</para>
<!-- ##### STRUCT cothread_state ##### --> <!-- ##### STRUCT cothread_state ##### -->
<para> <para>
The cothread state structure The cothread state structure

View file

@ -2,13 +2,13 @@
GstAutoplug GstAutoplug
<!-- ##### SECTION Short_Description ##### --> <!-- ##### SECTION Short_Description ##### -->
Automatically create and connect elements Automatically create and link elements
<!-- ##### SECTION Long_Description ##### --> <!-- ##### SECTION Long_Description ##### -->
<para> <para>
GstAutoplug is an abstract class that is used for constructing and GstAutoplug is an abstract class that is used for constructing and
connecting elements. Two types of autopluggers exist: renderer ones and non linking elements. Two types of autopluggers exist: renderer ones and non
renderer ones. the renderer autopluggers will not have any src pads while the renderer ones. The renderer autopluggers will not have any src pads while the
non renderer ones do. non renderer ones do.
</para> </para>
@ -19,8 +19,8 @@ The name of the autoplugger must be one of the registered autopluggers
(see #GstStaticAutoplug and #GstStaticAutoplugRender). (see #GstStaticAutoplug and #GstStaticAutoplugRender).
</para> </para>
<para> <para>
If the autoplugger supports the RENDERER API, use gst_autoplug_to_renderers() call to If the autoplugger supports the RENDERER API, use gst_autoplug_to_renderers() to
create a bin that connectes the src caps to the specified rendrer elements. You can create a bin that links the src caps to the specified renderer elements. You can
then add the bin to a pipeline and run it. then add the bin to a pipeline and run it.
<programlisting> <programlisting>
@ -44,13 +44,13 @@ then add the bin to a pipeline and run it.
sink, sink,
NULL); NULL);
/* add the element to a bin and connect the sink pad */ /* add the element to a bin and link the sink pad */
... ...
</programlisting> </programlisting>
</para> </para>
<para> <para>
If the autoplugger supports the CAPS API, use gst_autoplug_to_caps() call to If the autoplugger supports the CAPS API, use gst_autoplug_to_caps() to
connect the src caps to the destination caps. The created bin will have src pads link the src caps to the destination caps. The created bin will have src caps
compatible with the provided sink caps. compatible with the provided sink caps.
<programlisting> <programlisting>
@ -74,7 +74,7 @@ compatible with the provided sink caps.
), ),
NULL); NULL);
/* add the element to a bin and connect the src/sink pads */ /* add the element to a bin and link the src/sink pads */
... ...
</programlisting> </programlisting>
</para> </para>

View file

@ -98,10 +98,10 @@ GST_CAPS_FACTORY() macro as shown below.
</programlisting> </programlisting>
</para> </para>
<para> <para>
If you want to check if a connection between source and destination caps If you want to check if a link between source and destination caps
is always possible, use gst_caps_is_always_compatible(), which returns is always possible, use gst_caps_is_always_compatible(), which returns
a boolean. a boolean.
If you want to check if a connection between source and destination caps If you want to check if a link between source and destination caps
might be possible, use gst_caps_intersect(), which returns an intersection might be possible, use gst_caps_intersect(), which returns an intersection
of the capabilities. of the capabilities.
</para> </para>

View file

@ -20,8 +20,8 @@ compatibility.
</para> </para>
<para> <para>
All elements have pads (of the type #GstPad). These pads connect to pads on All elements have pads (of the type #GstPad). These pads link to pads on
other elements. Buffers flow between these connected pads. other elements. Buffers flow between these linked pads.
A GstElement has a GList of #GstPad structures for all their input (or sink) A GstElement has a GList of #GstPad structures for all their input (or sink)
and output (or source) pads. and output (or source) pads.
Core and plug-in writers can add and remove pads with gst_element_add_pad() Core and plug-in writers can add and remove pads with gst_element_add_pad()
@ -33,14 +33,14 @@ A GList of all pads can be retrieved with gst_element_get_pad_list().
</para> </para>
<para> <para>
Elements can be connected through their pads. Elements can be linked through their pads.
If the connection is straightforward, use the gst_element_connect() If the link is straightforward, use the gst_element_link()
convenience function to connect two elements, or gst_element_connect_many() convenience function to link two elements, or gst_element_link_many()
for more elements in a row. for more elements in a row.
Use gst_element_connect_filtered() to connect two elements constrained by Use gst_element_link_filtered() to link two elements constrained by
a specified set of #GstCaps. a specified set of #GstCaps.
For finer control, use gst_element_connect_pads() and For finer control, use gst_element_link_pads() and
gst_element_connect_pads_filtered() to specify the pads to connect on gst_element_link_pads_filtered() to specify the pads to link on
each element by name. each element by name.
</para> </para>
@ -90,7 +90,7 @@ Gets the name of the element.
@Returns: the name of the element. @Returns: the name of the element.
<!-- connection --> <!-- link -->
<!-- ##### MACRO gst_element_set_name ##### --> <!-- ##### MACRO gst_element_set_name ##### -->
@ -232,7 +232,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@templ: @templ:
<!-- ##### FUNCTION gst_element_connect ##### --> <!-- ##### FUNCTION gst_element_link ##### -->
<para> <para>
</para> </para>
@ -242,7 +242,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@Returns: @Returns:
<!-- ##### FUNCTION gst_element_connect_many ##### --> <!-- ##### FUNCTION gst_element_link_many ##### -->
<para> <para>
</para> </para>
@ -253,7 +253,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@Returns: @Returns:
<!-- ##### FUNCTION gst_element_connect_filtered ##### --> <!-- ##### FUNCTION gst_element_link_filtered ##### -->
<para> <para>
</para> </para>
@ -264,7 +264,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@Returns: @Returns:
<!-- ##### FUNCTION gst_element_connect_pads ##### --> <!-- ##### FUNCTION gst_element_link_pads ##### -->
<para> <para>
</para> </para>
@ -276,7 +276,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@Returns: @Returns:
<!-- ##### FUNCTION gst_element_connect_pads_filtered ##### --> <!-- ##### FUNCTION gst_element_link_pads_filtered ##### -->
<para> <para>
</para> </para>
@ -289,7 +289,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@Returns: @Returns:
<!-- ##### FUNCTION gst_element_disconnect ##### --> <!-- ##### FUNCTION gst_element_unlink ##### -->
<para> <para>
</para> </para>
@ -298,7 +298,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@dest: @dest:
<!-- ##### FUNCTION gst_element_disconnect_many ##### --> <!-- ##### FUNCTION gst_element_unlink_many ##### -->
<para> <para>
</para> </para>
@ -308,7 +308,7 @@ Sets the name of the element, getting rid of the old name if there was one.
@Varargs: @Varargs:
<!-- ##### FUNCTION gst_element_disconnect_pads ##### --> <!-- ##### FUNCTION gst_element_unlink_pads ##### -->
<para> <para>
</para> </para>

View file

@ -46,6 +46,7 @@ The different major types of events.
@GST_EVENT_RATE: adjust the output rate of an element @GST_EVENT_RATE: adjust the output rate of an element
@GST_EVENT_FILLER: a dummy event that should be ignored by plugins @GST_EVENT_FILLER: a dummy event that should be ignored by plugins
@GST_EVENT_TS_OFFSET: an event to set the time offset on buffers @GST_EVENT_TS_OFFSET: an event to set the time offset on buffers
@GST_EVENT_INTERRUPT:
<!-- ##### MACRO GST_EVENT_TYPE ##### --> <!-- ##### MACRO GST_EVENT_TYPE ##### -->
<para> <para>

View file

@ -155,10 +155,11 @@ Function to resolve ids to writer descriptions.
@index: the index being queried. @index: the index being queried.
@writer: The object that wants to write @writer: The object that wants to write
@writer_id: A pointer to the id that has to be assigned to this writer
@writer_string: A description of the writer. @writer_string: A description of the writer.
@user_data: user_data as registered @user_data: user_data as registered
@Returns: TRUE if an id could be assigned to the writer. @Returns: TRUE if an id could be assigned to the writer.
<!-- # Unused Parameters # -->
@writer_id: A pointer to the id that has to be assigned to this writer
<!-- ##### STRUCT GstIndex ##### --> <!-- ##### STRUCT GstIndex ##### -->
@ -358,3 +359,8 @@ Is emited when a new entry is added to the index.
@gstindex: the object which received the signal. @gstindex: the object which received the signal.
@arg1: The entry added to the index. @arg1: The entry added to the index.
<!-- ##### ARG GstIndex:resolver ##### -->
<para>
</para>

View file

@ -2,16 +2,16 @@
GstPad GstPad
<!-- ##### SECTION Short_Description ##### --> <!-- ##### SECTION Short_Description ##### -->
The connection between Elements The link between Elements
<!-- ##### SECTION Long_Description ##### --> <!-- ##### SECTION Long_Description ##### -->
<para> <para>
A #GstElement is connected to other elements via "pads", which are extremely A #GstElement is linked to other elements via "pads", which are extremely
light-weight generic connections points. light-weight generic link points.
After two pads are retrieved from an element with gst_element_get_pad(), After two pads are retrieved from an element with gst_element_get_pad(),
the pads can be connected with gst_pad_connect(). (For quick connections, the pads can be link with gst_pad_link(). (For quick links,
you can also use gst_element_connect(), which will make the obvious you can also use gst_element_link(), which will make the obvious
connection for you if it's straightforward). link for you if it's straightforward.)
</para> </para>
<para> <para>
Pads are typically created from a #GstPadTemplate with Pads are typically created from a #GstPadTemplate with
@ -124,7 +124,7 @@ Gets the capabilities of a pad.
<!-- ##### MACRO GST_PAD_PEER ##### --> <!-- ##### MACRO GST_PAD_PEER ##### -->
<para> <para>
Gets the peer pad of this pad. The peer pad is the pad on to which the parent Gets the peer pad of this pad. The peer pad is the pad on to which the parent
element is connected through this pad. element is linked through this pad.
</para> </para>
@pad: a #GstPad to get the peer pad of. @pad: a #GstPad to get the peer pad of.
@ -155,9 +155,9 @@ Checks if the pad is a source pad.
@pad: a #GstPad to check. @pad: a #GstPad to check.
<!-- ##### MACRO GST_PAD_IS_CONNECTED ##### --> <!-- ##### MACRO GST_PAD_IS_LINKED ##### -->
<para> <para>
Checks if the pad is connected. Checks if the pad is linked.
</para> </para>
@pad: a #GstPad to check. @pad: a #GstPad to check.
@ -173,7 +173,7 @@ Checks if the pad is active.
<!-- ##### MACRO GST_PAD_IS_USABLE ##### --> <!-- ##### MACRO GST_PAD_IS_USABLE ##### -->
<para> <para>
Checks if a pad is usable. A usable pad both connected and active. Checks if a pad is usable. A usable pad is both linked and active.
</para> </para>
@pad: a #GstPad to check @pad: a #GstPad to check
@ -234,26 +234,26 @@ Function signature to handle an event for the pad.
@Returns: TRUE if the pad could handle the event. @Returns: TRUE if the pad could handle the event.
<!-- ##### USER_FUNCTION GstPadConnectFunction ##### --> <!-- ##### USER_FUNCTION GstPadLinkFunction ##### -->
<para> <para>
Function signature to handle a new connection on the pad. Function signature to handle a new link on the pad.
</para> </para>
@pad: the #GstPad that is connected. @pad: the #GstPad that is linked.
@caps: the peer's #GstCaps. @caps: the peer's #GstCaps.
@Returns: the result of the connection with the specified caps. @Returns: the result of the link with the specified caps.
<!-- ##### ENUM GstPadConnectReturn ##### --> <!-- ##### ENUM GstPadLinkReturn ##### -->
<para> <para>
The result of a pad connection. The result of a pad link.
</para> </para>
@GST_PAD_CONNECT_REFUSED: the connection was refused. @GST_PAD_LINK_REFUSED: the link was refused.
@GST_PAD_CONNECT_DELAYED: the connection was delayed, probably because the @GST_PAD_LINK_DELAYED: the link was delayed, probably because the
element needs more specific pad capabilitiess. element needs more specific pad capabilitiess.
@GST_PAD_CONNECT_OK: the connection succeeded. @GST_PAD_LINK_OK: the link succeeded.
@GST_PAD_CONNECT_DONE: the connection succeeded, @GST_PAD_LINK_DONE: the link succeeded,
any more attempts are not needed. any more attempts are not needed.
<!-- ##### USER_FUNCTION GstPadConvertFunction ##### --> <!-- ##### USER_FUNCTION GstPadConvertFunction ##### -->
@ -271,7 +271,7 @@ The signature of a convert function.
<!-- ##### USER_FUNCTION GstPadDispatcherFunction ##### --> <!-- ##### USER_FUNCTION GstPadDispatcherFunction ##### -->
<para> <para>
A dispatcher function is called for all internally connected pads, see A dispatcher function is called for all internally linked pads, see
gst_pad_dispatcher(). gst_pad_dispatcher().
</para> </para>
@ -280,13 +280,13 @@ gst_pad_dispatcher().
@Returns: TRUE if the dispatching procedure has to be stopped. @Returns: TRUE if the dispatching procedure has to be stopped.
<!-- ##### USER_FUNCTION GstPadIntConnFunction ##### --> <!-- ##### USER_FUNCTION GstPadIntLinkFunction ##### -->
<para> <para>
The signature of the internal pad connection function. The signature of the internal pad link function.
</para> </para>
@pad: The #GstPad to query. @pad: The #GstPad to query.
@Returns: a newly allocated #GList of pads that are connected to @Returns: a newly allocated #GList of pads that are linked to
the given pad on the inside of the parent element. the given pad on the inside of the parent element.
The caller must call g_list_free() on it after use. The caller must call g_list_free() on it after use.
@ -463,13 +463,13 @@ Destroy the pad.
@bufpool: @bufpool:
<!-- ##### FUNCTION gst_pad_set_connect_function ##### --> <!-- ##### FUNCTION gst_pad_set_link_function ##### -->
<para> <para>
</para> </para>
@pad: @pad:
@connect: @link:
<!-- ##### FUNCTION gst_pad_set_getcaps_function ##### --> <!-- ##### FUNCTION gst_pad_set_getcaps_function ##### -->
@ -609,7 +609,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_connect ##### --> <!-- ##### FUNCTION gst_pad_link ##### -->
<para> <para>
</para> </para>
@ -619,7 +619,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_connect_filtered ##### --> <!-- ##### FUNCTION gst_pad_link_filtered ##### -->
<para> <para>
</para> </para>
@ -630,7 +630,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_reconnect_filtered ##### --> <!-- ##### FUNCTION gst_pad_relink_filtered ##### -->
<para> <para>
</para> </para>
@ -641,7 +641,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_try_reconnect_filtered ##### --> <!-- ##### FUNCTION gst_pad_try_relink_filtered ##### -->
<para> <para>
</para> </para>
@ -652,7 +652,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_disconnect ##### --> <!-- ##### FUNCTION gst_pad_unlink ##### -->
<para> <para>
</para> </para>
@ -661,7 +661,7 @@ Destroy the pad.
@sinkpad: @sinkpad:
<!-- ##### FUNCTION gst_pad_can_connect ##### --> <!-- ##### FUNCTION gst_pad_can_link ##### -->
<para> <para>
</para> </para>
@ -671,7 +671,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_can_connect_filtered ##### --> <!-- ##### FUNCTION gst_pad_can_link_filtered ##### -->
<para> <para>
</para> </para>
@ -709,7 +709,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_load_and_connect ##### --> <!-- ##### FUNCTION gst_pad_load_and_link ##### -->
<para> <para>
</para> </para>
@ -718,7 +718,7 @@ Destroy the pad.
@parent: @parent:
<!-- ##### FUNCTION gst_pad_proxy_connect ##### --> <!-- ##### FUNCTION gst_pad_proxy_link ##### -->
<para> <para>
</para> </para>
@ -932,7 +932,7 @@ Destroy the pad.
@formats: @formats:
<!-- ##### FUNCTION gst_pad_get_internal_connections ##### --> <!-- ##### FUNCTION gst_pad_get_internal_links ##### -->
<para> <para>
</para> </para>
@ -941,7 +941,7 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_get_internal_connections_default ##### --> <!-- ##### FUNCTION gst_pad_get_internal_links_default ##### -->
<para> <para>
</para> </para>
@ -950,13 +950,13 @@ Destroy the pad.
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_set_internal_connection_function ##### --> <!-- ##### FUNCTION gst_pad_set_internal_link_function ##### -->
<para> <para>
</para> </para>
@pad: @pad:
@intconn: @intlink:
<!-- ##### FUNCTION gst_pad_set_query_function ##### --> <!-- ##### FUNCTION gst_pad_set_query_function ##### -->
@ -1075,7 +1075,7 @@ The realpad object
@appfilter: @appfilter:
@getcapsfunc: @getcapsfunc:
@direction: @direction:
@connectfunc: @linkfunc:
@peer: @peer:
@sched_private: @sched_private:
@chainfunc: @chainfunc:
@ -1090,7 +1090,7 @@ The realpad object
@queryfunc: @queryfunc:
@formatsfunc: @formatsfunc:
@querytypefunc: @querytypefunc:
@intconnfunc: @intlinkfunc:
@bufferpoolfunc: @bufferpoolfunc:
@probedisp: @probedisp:
@ -1190,9 +1190,9 @@ Get the gethandler function of this real pad.
@pad: the real pad to query. @pad: the real pad to query.
<!-- ##### MACRO GST_RPAD_CONNECTFUNC ##### --> <!-- ##### MACRO GST_RPAD_LINKFUNC ##### -->
<para> <para>
Get the connect function of the pad Get the link function of the pad
</para> </para>
@pad: the pad to query @pad: the pad to query
@ -1214,9 +1214,9 @@ Get the convert function of this pad
@pad: the pad to query @pad: the pad to query
<!-- ##### MACRO GST_RPAD_INTCONNFUNC ##### --> <!-- ##### MACRO GST_RPAD_INTLINKFUNC ##### -->
<para> <para>
Get the internal connection function of this pad Get the internal link function of this pad
</para> </para>
@pad: the pad to query @pad: the pad to query

View file

@ -52,7 +52,7 @@ The parsing errors.
@GST_PARSE_ERROR_SYNTAX: A syntax error was detected @GST_PARSE_ERROR_SYNTAX: A syntax error was detected
@GST_PARSE_ERROR_NO_SUCH_ELEMENT: The pipeline description contains a non existing element @GST_PARSE_ERROR_NO_SUCH_ELEMENT: The pipeline description contains a non existing element
@GST_PARSE_ERROR_NO_SUCH_PROPERTY: The pipeline description contains a non existing element property @GST_PARSE_ERROR_NO_SUCH_PROPERTY: The pipeline description contains a non existing element property
@GST_PARSE_ERROR_CONNECT: A pad connection could not be made @GST_PARSE_ERROR_LINK: A pad link could not be made
<!-- ##### MACRO GST_PARSE_ERROR ##### --> <!-- ##### MACRO GST_PARSE_ERROR ##### -->
<para> <para>

View file

@ -276,28 +276,6 @@ GstColorSpace
gstconfig gstconfig
<!-- ##### SECTION ./tmpl/gstconnection.sgml:Long_Description ##### -->
<para>
A connection is a bas class for a generic connection between
elements. A connection is typically a bas class for queues.
</para>
<!-- ##### SECTION ./tmpl/gstconnection.sgml:See_Also ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/gstconnection.sgml:Short_Description ##### -->
Generic connection between elements.
<!-- ##### SECTION ./tmpl/gstconnection.sgml:Title ##### -->
GstConnection
<!-- ##### SECTION ./tmpl/gstdata_private.sgml:Long_Description ##### --> <!-- ##### SECTION ./tmpl/gstdata_private.sgml:Long_Description ##### -->
<para> <para>
@ -565,7 +543,7 @@ GstFileSrc
<!-- ##### SECTION ./tmpl/gstfilter.sgml:Long_Description ##### --> <!-- ##### SECTION ./tmpl/gstfilter.sgml:Long_Description ##### -->
<para> <para>
Filters take data in and spit data out. They are the main Element in a filter graph. Filters take data in and spit data out. They are the main Element in a filter graph.
Filters have zero or more inputs and zero or more outputs. Filters are connected Filters have zero or more inputs and zero or more outputs. Filters are linked
together to form filter graphs. A GstFilter is the base class and is not very usefull together to form filter graphs. A GstFilter is the base class and is not very usefull
on its own. on its own.
</para> </para>
@ -645,6 +623,28 @@ Pass data without modification. (identity)
GstIdentity GstIdentity
<!-- ##### SECTION ./tmpl/gstlink.sgml:Long_Description ##### -->
<para>
A link is a base class for a generic link between
elements. A link is typically a base class for queues.
</para>
<!-- ##### SECTION ./tmpl/gstlink.sgml:See_Also ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/gstlink.sgml:Short_Description ##### -->
Generic link between elements.
<!-- ##### SECTION ./tmpl/gstlink.sgml:Title ##### -->
GstLink
<!-- ##### SECTION ./tmpl/gstmacros.sgml:Long_Description ##### --> <!-- ##### SECTION ./tmpl/gstmacros.sgml:Long_Description ##### -->
<para> <para>
@ -723,7 +723,7 @@ adding to the list.
<para> <para>
The trick is dealing with these structs as they pass through a pipeline, The trick is dealing with these structs as they pass through a pipeline,
since they have potentially different mutability properties. For since they have potentially different mutability properties. For
instance, if you've got a mp3 decoder connected to a tee, which sends the instance, if you've got a mp3 decoder linked to a tee, which sends the
buffers off to both the decoder and a spectrum analyzer (and then a buffers off to both the decoder and a spectrum analyzer (and then a
visualization element). The preferred setup would be where every time a visualization element). The preferred setup would be where every time a
audio/raw metadata comes down the pipe (indicating a potential change in audio/raw metadata comes down the pipe (indicating a potential change in
@ -1238,13 +1238,7 @@ Information about video buffers.
videoraw videoraw
<!-- ##### MACRO BCONNECTION ##### --> <!-- ##### MACRO BLINK ##### -->
<para>
</para>
<!-- ##### MACRO CONNECTION ##### -->
<para> <para>
</para> </para>
@ -1274,6 +1268,12 @@ The default stack size of a cothread.
</para> </para>
<!-- ##### MACRO CURRENT_STACK_FRAME ##### -->
<para>
Get the current stack frame.
</para>
<!-- ##### MACRO DEBUG ##### --> <!-- ##### MACRO DEBUG ##### -->
<para> <para>
Use this macro to show debugging info. This is only usefull when developing new Use this macro to show debugging info. This is only usefull when developing new
@ -1348,7 +1348,7 @@ g_print messages.
@format: @format:
@args...: @args...:
<!-- ##### MACRO FCONNECTION ##### --> <!-- ##### MACRO FLINK ##### -->
<para> <para>
</para> </para>
@ -1771,20 +1771,6 @@ Unlock the caps structure
@caps: The caps structure to unlock @caps: The caps structure to unlock
<!-- ##### MACRO GST_CONNECTION ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_CONNECTION_CLASS ##### -->
<para>
</para>
@klass:
<!-- ##### MACRO GST_CPU_FLAG_MMX ##### --> <!-- ##### MACRO GST_CPU_FLAG_MMX ##### -->
<para> <para>
A flag indicating that MMX instructions are supported. A flag indicating that MMX instructions are supported.
@ -2197,20 +2183,6 @@ subclass use this to start their flag enumeration
@obj: @obj:
<!-- ##### MACRO GST_IS_CONNECTION ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_IS_CONNECTION_CLASS ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_IS_DISKSRC ##### --> <!-- ##### MACRO GST_IS_DISKSRC ##### -->
<para> <para>
@ -2386,6 +2358,20 @@ subclass use this to start their flag enumeration
@obj: @obj:
<!-- ##### MACRO GST_IS_LINK ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_IS_LINK_CLASS ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_IS_OBJECT ##### --> <!-- ##### MACRO GST_IS_OBJECT ##### -->
<para> <para>
@ -2568,6 +2554,20 @@ subclass use this to start their flag enumeration
@obj: @obj:
<!-- ##### MACRO GST_LINK ##### -->
<para>
</para>
@obj:
<!-- ##### MACRO GST_LINK_CLASS ##### -->
<para>
</para>
@klass:
<!-- ##### MACRO GST_META ##### --> <!-- ##### MACRO GST_META ##### -->
<para> <para>
@ -2668,13 +2668,6 @@ subclasses can use this value to start the enumeration of their flags
@klass: @klass:
<!-- ##### MACRO GST_PAD_CONNECTED ##### -->
<para>
Is this pad connected.
</para>
@pad: the pad to check
<!-- ##### MACRO GST_PAD_FACTORY_ALWAYS ##### --> <!-- ##### MACRO GST_PAD_FACTORY_ALWAYS ##### -->
<para> <para>
Indicate that this pad will always be available. Indicate that this pad will always be available.
@ -2715,6 +2708,13 @@ Indicates a srcpad for the padfactory.
</para> </para>
<!-- ##### MACRO GST_PAD_LINKED ##### -->
<para>
Is this pad linked.
</para>
@pad: the pad to check
<!-- ##### MACRO GST_PAD_TEMPLATE ##### --> <!-- ##### MACRO GST_PAD_TEMPLATE ##### -->
<para> <para>
@ -2981,18 +2981,18 @@ Fast macro to lock a given element.
@sched: The scheduler. @sched: The scheduler.
@element: The element to lock. @element: The element to lock.
<!-- ##### MACRO GST_SCHEDULE_PAD_CONNECT ##### --> <!-- ##### MACRO GST_SCHEDULE_PAD_LINK ##### -->
<para> <para>
Fast macro to connect two pads. Fast macro to link two pads.
</para> </para>
@sched: The scheduler. @sched: The scheduler.
@srcpad: The source pad. @srcpad: The source pad.
@sinkpad: The sink pad. @sinkpad: The sink pad.
<!-- ##### MACRO GST_SCHEDULE_PAD_DISCONNECT ##### --> <!-- ##### MACRO GST_SCHEDULE_PAD_UNLINK ##### -->
<para> <para>
Fast macro to disconnect two pads. Fast macro to unlink two pads.
</para> </para>
@sched: The scheduler. @sched: The scheduler.
@ -3297,12 +3297,6 @@ This macro unsets the given state on the element.
</para> </para>
<!-- ##### MACRO GST_TYPE_CONNECTION ##### -->
<para>
</para>
<!-- ##### MACRO GST_TYPE_CPU_FLAGS ##### --> <!-- ##### MACRO GST_TYPE_CPU_FLAGS ##### -->
<para> <para>
@ -3429,6 +3423,12 @@ A type that can be used to indicate a filename.
</para> </para>
<!-- ##### MACRO GST_TYPE_LINK ##### -->
<para>
</para>
<!-- ##### MACRO GST_TYPE_OBJECT ##### --> <!-- ##### MACRO GST_TYPE_OBJECT ##### -->
<para> <para>
@ -3447,12 +3447,6 @@ A type that can be used to indicate a filename.
</para> </para>
<!-- ##### MACRO GST_TYPE_PAD_CONNECT_RETURN ##### -->
<para>
</para>
<!-- ##### MACRO GST_TYPE_PAD_DIRECTION ##### --> <!-- ##### MACRO GST_TYPE_PAD_DIRECTION ##### -->
<para> <para>
@ -3465,6 +3459,12 @@ A type that can be used to indicate a filename.
</para> </para>
<!-- ##### MACRO GST_TYPE_PAD_LINK_RETURN ##### -->
<para>
</para>
<!-- ##### MACRO GST_TYPE_PAD_PRESENCE ##### --> <!-- ##### MACRO GST_TYPE_PAD_PRESENCE ##### -->
<para> <para>
@ -4398,18 +4398,6 @@ can perform necessary cleanup.
</para> </para>
<!-- ##### STRUCT GstConnection ##### -->
<para>
</para>
<!-- ##### STRUCT GstConnectionClass ##### -->
<para>
</para>
<!-- ##### SIGNAL GstDiskSink::handoff ##### --> <!-- ##### SIGNAL GstDiskSink::handoff ##### -->
<para> <para>
Is emited after the buffer has been written to the disk. Is emited after the buffer has been written to the disk.
@ -5013,6 +5001,18 @@ Specify the location of the file. The location must be a fully qualified URL.
</para> </para>
<!-- ##### STRUCT GstLink ##### -->
<para>
</para>
<!-- ##### STRUCT GstLinkClass ##### -->
<para>
</para>
<!-- ##### ARG GstMD5Sink:md5 ##### --> <!-- ##### ARG GstMD5Sink:md5 ##### -->
<para> <para>
@ -5212,7 +5212,7 @@ The different supported query types.
@GST_PARSE_ERROR_CREATING_ELEMENT: @GST_PARSE_ERROR_CREATING_ELEMENT:
@GST_PARSE_ERROR_NOSUCH_ELEMENT: @GST_PARSE_ERROR_NOSUCH_ELEMENT:
@GST_PARSE_ERROR_INTERNAL: @GST_PARSE_ERROR_INTERNAL:
@GST_PARSE_ERROR_CONNECT: @GST_PARSE_ERROR_LINK:
<!-- ##### ENUM GstPipeFilterFlags ##### --> <!-- ##### ENUM GstPipeFilterFlags ##### -->
<para> <para>
@ -5460,7 +5460,7 @@ The volume as a double 0.0 is silent, 1.0 is loudest.
</para> </para>
<!-- ##### TYPEDEF GstSpiderConnection ##### --> <!-- ##### TYPEDEF GstSpiderLink ##### -->
<para> <para>
</para> </para>
@ -5809,6 +5809,12 @@ Query the element for the current mime type
@format: @format:
@args...: @args...:
<!-- ##### MACRO LINK ##### -->
<para>
</para>
<!-- ##### MACRO LOCAL_REGISTRY_DIR ##### --> <!-- ##### MACRO LOCAL_REGISTRY_DIR ##### -->
<para> <para>
@ -5963,12 +5969,6 @@ must be defined to activate the tracing functionality.
@Domain: @Domain:
@Directory: @Directory:
<!-- ##### TYPEDEF connection_t ##### -->
<para>
</para>
<!-- ##### TYPEDEF cothread ##### --> <!-- ##### TYPEDEF cothread ##### -->
<para> <para>
@ -6913,8 +6913,8 @@ must be defined to activate the tracing functionality.
@parent: @parent:
@current_bin_type: @current_bin_type:
@elements: @elements:
@connections: @links:
@connections_pending: @links_pending:
@bins: @bins:
@bin: @bin:
@ -7022,7 +7022,7 @@ must be defined to activate the tracing functionality.
@src: @src:
<!-- ##### FUNCTION gst_autoplug_can_connect_sink ##### --> <!-- ##### FUNCTION gst_autoplug_can_link_sink ##### -->
<para> <para>
</para> </para>
@ -7031,7 +7031,7 @@ must be defined to activate the tracing functionality.
@sink: @sink:
@Returns: @Returns:
<!-- ##### FUNCTION gst_autoplug_can_connect_src ##### --> <!-- ##### FUNCTION gst_autoplug_can_link_src ##### -->
<para> <para>
</para> </para>
@ -7811,25 +7811,6 @@ must be defined to activate the tracing functionality.
@jitter: @jitter:
@Returns: @Returns:
<!-- ##### FUNCTION gst_connection_get_type ##### -->
=======
<!-- ##### FUNCTION gst_connection_new ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### FUNCTION gst_connection_push ##### -->
<para>
</para>
@connection:
<!-- ##### FUNCTION gst_cpu_flags_get_type ##### --> <!-- ##### FUNCTION gst_cpu_flags_get_type ##### -->
<para> <para>
@ -7890,43 +7871,6 @@ must be defined to activate the tracing functionality.
@first_name: @first_name:
@Varargs: @Varargs:
<!-- ##### FUNCTION gst_element_connect_elements ##### -->
<para>
</para>
@src:
@dest:
@Returns:
<!-- ##### FUNCTION gst_element_connect_elements_filtered ##### -->
<para>
</para>
@src:
@dest:
@filtercaps:
@Returns:
<!-- ##### FUNCTION gst_element_connect_elements_many ##### -->
<para>
</para>
@element_1:
@element_2:
@Varargs:
@Returns:
<!-- ##### FUNCTION gst_element_disconnect_elements ##### -->
<para>
</para>
@src:
@dest:
<!-- ##### FUNCTION gst_element_factory_add_sink ##### --> <!-- ##### FUNCTION gst_element_factory_add_sink ##### -->
<para> <para>
@ -8074,6 +8018,35 @@ must be defined to activate the tracing functionality.
@element: @element:
@Returns: @Returns:
<!-- ##### FUNCTION gst_element_link_elements ##### -->
<para>
</para>
@src:
@dest:
@Returns:
<!-- ##### FUNCTION gst_element_link_elements_filtered ##### -->
<para>
</para>
@src:
@dest:
@filtercaps:
@Returns:
<!-- ##### FUNCTION gst_element_link_elements_many ##### -->
<para>
</para>
@element_1:
@element_2:
@Varargs:
@Returns:
<!-- ##### FUNCTION gst_element_load_thyself ##### --> <!-- ##### FUNCTION gst_element_load_thyself ##### -->
<para> <para>
@ -8174,6 +8147,14 @@ must be defined to activate the tracing functionality.
@Returns: @Returns:
<!-- ##### FUNCTION gst_element_unlink_elements ##### -->
<para>
</para>
@src:
@dest:
<!-- ##### FUNCTION gst_esdsink_chain ##### --> <!-- ##### FUNCTION gst_esdsink_chain ##### -->
<para> <para>
@ -8445,6 +8426,25 @@ must be defined to activate the tracing functionality.
@format: @format:
@args...: @args...:
<!-- ##### FUNCTION gst_link_get_type ##### -->
=======
<!-- ##### FUNCTION gst_link_new ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### FUNCTION gst_link_push ##### -->
<para>
</para>
@link:
<!-- ##### MACRO gst_marshal_VOID__BOOLEAN ##### --> <!-- ##### MACRO gst_marshal_VOID__BOOLEAN ##### -->
<para> <para>
@ -8607,13 +8607,6 @@ Create new meta data.
@pad: @pad:
@parent: @parent:
<!-- ##### FUNCTION gst_pad_connect_return_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gst_pad_direction_get_type ##### --> <!-- ##### FUNCTION gst_pad_direction_get_type ##### -->
<para> <para>
@ -8728,6 +8721,13 @@ Call the EOS function of the pad
@format: @format:
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_link_return_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gst_pad_negotiate_proxy ##### --> <!-- ##### FUNCTION gst_pad_negotiate_proxy ##### -->
<para> <para>
@ -8943,7 +8943,7 @@ Call the EOS function of the pad
@parent: @parent:
@Returns: @Returns:
<!-- ##### FUNCTION gst_pad_try_connect ##### --> <!-- ##### FUNCTION gst_pad_try_link ##### -->
<para> <para>
</para> </para>
@ -9230,7 +9230,7 @@ Call the EOS function of the pad
</para> </para>
@connection: @link:
<!-- ##### FUNCTION gst_real_pad_get_type ##### --> <!-- ##### FUNCTION gst_real_pad_get_type ##### -->
<para> <para>
@ -9321,16 +9321,7 @@ Call the EOS function of the pad
@parent: @parent:
@Returns: @Returns:
<!-- ##### FUNCTION gst_schedule_pad_connect ##### --> <!-- ##### FUNCTION gst_schedule_pad_link ##### -->
<para>
</para>
@sched:
@srcpad:
@sinkpad:
<!-- ##### FUNCTION gst_schedule_pad_disconnect ##### -->
<para> <para>
</para> </para>
@ -9348,6 +9339,15 @@ Call the EOS function of the pad
@padlist: @padlist:
@Returns: @Returns:
<!-- ##### FUNCTION gst_schedule_pad_unlink ##### -->
<para>
</para>
@sched:
@srcpad:
@sinkpad:
<!-- ##### FUNCTION gst_schedule_remove_element ##### --> <!-- ##### FUNCTION gst_schedule_remove_element ##### -->
<para> <para>
@ -9907,6 +9907,12 @@ Call the EOS function of the pad
@location: @location:
@Returns: @Returns:
<!-- ##### TYPEDEF link_t ##### -->
<para>
</para>
<!-- ##### FUNCTION plugin_initialize ##### --> <!-- ##### FUNCTION plugin_initialize ##### -->
<para> <para>

View file

@ -136,6 +136,7 @@ Destroy the scheduler
@sched: @sched:
@element: @element:
@Returns:
<!-- ##### FUNCTION gst_scheduler_interrupt ##### --> <!-- ##### FUNCTION gst_scheduler_interrupt ##### -->
@ -157,7 +158,7 @@ Destroy the scheduler
@element: @element:
<!-- ##### FUNCTION gst_scheduler_pad_connect ##### --> <!-- ##### FUNCTION gst_scheduler_pad_link ##### -->
<para> <para>
</para> </para>
@ -167,7 +168,7 @@ Destroy the scheduler
@sinkpad: @sinkpad:
<!-- ##### FUNCTION gst_scheduler_pad_disconnect ##### --> <!-- ##### FUNCTION gst_scheduler_pad_unlink ##### -->
<para> <para>
</para> </para>

View file

@ -23,7 +23,7 @@
gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (funky_src)); gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (funky_src));
gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (cool_effect)); gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (cool_effect));
/* connect the elements here... */ /* link the elements here... */
... ...
/* start playing */ /* start playing */
@ -41,7 +41,7 @@
<title>Constraints placed on the pipeline by the GstThread</title> <title>Constraints placed on the pipeline by the GstThread</title>
<para> <para>
Within the pipeline, everything is the same as in any other bin. The Within the pipeline, everything is the same as in any other bin. The
difference lies at the thread boundary, at the connection between the difference lies at the thread boundary, at the link between the
thread and the outside world (containing bin). Since GStreamer is thread and the outside world (containing bin). Since GStreamer is
fundamentally buffer-oriented rather than byte-oriented, the natural fundamentally buffer-oriented rather than byte-oriented, the natural
solution to this problem is an element that can "buffer" the buffers solution to this problem is an element that can "buffer" the buffers
@ -135,7 +135,7 @@ main (int argc, char *argv[])
/* add objects to the thread */ /* add objects to the thread */
gst_bin_add_many (GST_BIN (thread), filesrc, decoder, audiosink, NULL); gst_bin_add_many (GST_BIN (thread), filesrc, decoder, audiosink, NULL);
/* connect them in the logical order */ /* link them in the logical order */
gst_element_link_many (filesrc, decoder, audiosink, NULL); gst_element_link_many (filesrc, decoder, audiosink, NULL);
/* start playing */ /* start playing */

View file

@ -100,13 +100,13 @@ main (int argc, char *argv[])
</para> </para>
</sect3> </sect3>
<sect3> <sect3>
<title>Connections</title> <title>Links</title>
<screen> <screen>
... !sink ... ... !sink ...
</screen> </screen>
<para> <para>
An exclamation point, optionally having a qualified pad name (an the name of the pad, An exclamation point, optionally having a qualified pad name (an the name of the pad,
optionally preceded by the name of the element) on both sides, will connect two pads. If optionally preceded by the name of the element) on both sides, will link two pads. If
the source pad is not specified, a source pad from the immediately preceding element the source pad is not specified, a source pad from the immediately preceding element
will be automatically chosen. If the sink pad is not specified, a sink pad from the next will be automatically chosen. If the sink pad is not specified, a sink pad from the next
element to be constructed will be chosen. An attempt will be made to find compatible element to be constructed will be chosen. An attempt will be made to find compatible

View file

@ -5,7 +5,7 @@
construct complex pipelines based on source and destination capabilities. construct complex pipelines based on source and destination capabilities.
This feature is very useful if you want to convert type X to type Y but This feature is very useful if you want to convert type X to type Y but
don't care about the plugins needed to accomplish this task. The don't care about the plugins needed to accomplish this task. The
autoplugger will consult the plugin repository, select and connect the autoplugger will consult the plugin repository, select and link the
elements needed for the conversion. elements needed for the conversion.
</para> </para>
<para> <para>
@ -29,7 +29,7 @@
</para> </para>
<para> <para>
If the autoplugger supports the RENDERER API, use the If the autoplugger supports the RENDERER API, use the
gst_autoplug_to_renderers() function to create a bin that connects gst_autoplug_to_renderers() function to create a bin that links
the source caps to the specified render elements. You can then add the source caps to the specified render elements. You can then add
the bin to a pipeline and run it. the bin to a pipeline and run it.
@ -55,13 +55,13 @@
sink, sink,
NULL); NULL);
/* add the element to a bin and connect the sink pad */ /* add the element to a bin and link the sink pad */
... ...
</programlisting> </programlisting>
</para> </para>
<para> <para>
If the autoplugger supports the CAPS API, use the gst_autoplug_to_caps() If the autoplugger supports the CAPS API, use the gst_autoplug_to_caps()
function to connect the source caps to the destination caps. The created function to link the source caps to the destination caps. The created
bin will have source and sink pads compatible with the provided caps. bin will have source and sink pads compatible with the provided caps.
<programlisting> <programlisting>
@ -86,7 +86,7 @@
), ),
NULL); NULL);
/* add the element to a bin and connect the src/sink pads */ /* add the element to a bin and link the src/sink pads */
... ...
</programlisting> </programlisting>
</para> </para>
@ -107,13 +107,13 @@
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Add the autoplugcache element to a bin and connect the sink pad Add the autoplugcache element to a bin and link the sink pad
to the source pad of an element with unknown caps. to the source pad of an element with unknown caps.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Connect the source pad of the autoplugcache to the sink pad of Link the source pad of the autoplugcache to the sink pad of
the typefind element. the typefind element.
</para> </para>
</listitem> </listitem>
@ -137,7 +137,7 @@
<listitem> <listitem>
<para> <para>
In the cache_empty signal callback function, remove the autoplugcache and In the cache_empty signal callback function, remove the autoplugcache and
reconnect the pads. relink the pads.
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>

View file

@ -16,7 +16,7 @@
<para> <para>
Elements, from the perspective of GStreamer, are viewed as "black boxes" Elements, from the perspective of GStreamer, are viewed as "black boxes"
with a number of different aspects. One of these aspects is the presence with a number of different aspects. One of these aspects is the presence
of "pads", or connection points. This terminology arises from soldering; of "pads", or link points. This terminology arises from soldering;
pads are where wires can be attached. pads are where wires can be attached.
</para> </para>
@ -87,7 +87,7 @@
splitter (demultiplexer). This element will parse the input data and splitter (demultiplexer). This element will parse the input data and
extract the audio and video data. Most of these filters dynamically extract the audio and video data. Most of these filters dynamically
send out a signal when a new pad is created so that the application send out a signal when a new pad is created so that the application
programmer can connect an arbitrary element to the newly created pad. programmer can link an arbitrary element to the newly created pad.
</para> </para>
</sect2> </sect2>

View file

@ -16,7 +16,7 @@
<para> <para>
Elements, from the perspective of GStreamer, are viewed as "black boxes" Elements, from the perspective of GStreamer, are viewed as "black boxes"
with a number of different aspects. One of these aspects is the presence with a number of different aspects. One of these aspects is the presence
of "pads", or connection points. This terminology arises from soldering; of "pads", or link points. This terminology arises from soldering;
pads are where wires can be attached. pads are where wires can be attached.
</para> </para>
@ -87,7 +87,7 @@
splitter (demultiplexer). This element will parse the input data and splitter (demultiplexer). This element will parse the input data and
extract the audio and video data. Most of these filters dynamically extract the audio and video data. Most of these filters dynamically
send out a signal when a new pad is created so that the application send out a signal when a new pad is created so that the application
programmer can connect an arbitrary element to the newly created pad. programmer can link an arbitrary element to the newly created pad.
</para> </para>
</sect2> </sect2>

View file

@ -88,7 +88,7 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Extremely light-weight connections between plugins. Data can travel Extremely light-weight links between plugins. Data can travel
the pipeline with minimal overhead. Data passing between plugins only involves the pipeline with minimal overhead. Data passing between plugins only involves
a pointer dereference in a typical pipeline. a pointer dereference in a typical pipeline.
</para> </para>

View file

@ -11,7 +11,7 @@
<!ENTITY INIT SYSTEM "init.xml"> <!ENTITY INIT SYSTEM "init.xml">
<!ENTITY ELEMENTS SYSTEM "elements.xml"> <!ENTITY ELEMENTS SYSTEM "elements.xml">
<!ENTITY PADS SYSTEM "pads.xml"> <!ENTITY PADS SYSTEM "pads.xml">
<!ENTITY CONNECTIONS SYSTEM "connections.xml"> <!ENTITY LINKS SYSTEM "links.xml">
<!ENTITY BINS SYSTEM "bins.xml"> <!ENTITY BINS SYSTEM "bins.xml">
<!ENTITY BUFFERS SYSTEM "buffers.xml"> <!ENTITY BUFFERS SYSTEM "buffers.xml">
<!ENTITY STATES SYSTEM "states.xml"> <!ENTITY STATES SYSTEM "states.xml">
@ -145,7 +145,7 @@
&PADS; &PADS;
&CONNECTIONS; &LINKS;
&BINS; &BINS;

View file

@ -34,7 +34,7 @@
<para> <para>
The framework is based on plugins that will provide the various codec The framework is based on plugins that will provide the various codec
and other functionality. The plugins can be connected and arranged in and other functionality. The plugins can be linked and arranged in
a pipeline. This pipeline defines the flow of the data. Pipelines can a pipeline. This pipeline defines the flow of the data. Pipelines can
also be edited with a GUI editor and saved as XML so that pipeline also be edited with a GUI editor and saved as XML so that pipeline
libraries can be made with a minimum of effort. libraries can be made with a minimum of effort.

View file

@ -34,7 +34,7 @@
<para> <para>
The framework is based on plugins that will provide the various codec The framework is based on plugins that will provide the various codec
and other functionality. The plugins can be connected and arranged in and other functionality. The plugins can be linked and arranged in
a pipeline. This pipeline defines the flow of the data. Pipelines can a pipeline. This pipeline defines the flow of the data. Pipelines can
also be edited with a GUI editor and saved as XML so that pipeline also be edited with a GUI editor and saved as XML so that pipeline
libraries can be made with a minimum of effort. libraries can be made with a minimum of effort.

View file

@ -0,0 +1,36 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
3975 3600 4725 3600 4725 4125 3975 4125 3975 3600
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2775 2775 4725 2775 4725 4425 2775 4425 2775 2775
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5400 2775 7350 2775 7350 4425 5400 4425 5400 2775
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8025 2775 9975 2775 9975 4425 8025 4425 8025 2775
2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
5400 3600 6150 3600 6150 4125 5400 4125 5400 3600
2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
8025 3600 8775 3600 8775 4125 8025 4125 8025 3600
2 2 0 1 0 6 50 0 20 0.000 0 0 -1 0 0 5
6600 3600 7350 3600 7350 4125 6600 4125 6600 3600
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 90.00 120.00
4575 3750 5400 3750
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 90.00 120.00
7200 3750 8025 3750
4 0 0 50 0 16 12 0.0000 4 105 255 4200 3975 src\001
4 0 0 50 0 16 12 0.0000 4 135 330 5550 3975 sink\001
4 0 0 50 0 16 12 0.0000 4 135 330 8175 3975 sink\001
4 0 0 50 0 16 12 0.0000 4 105 255 6825 3975 src\001
4 0 0 50 0 16 12 0.0000 4 135 750 5625 3075 element2\001
4 0 0 50 0 16 12 0.0000 4 135 750 8250 3075 element3\001
4 0 0 50 0 16 12 0.0000 4 135 750 3000 3075 element1\001

104
docs/manual/links.xml Normal file
View file

@ -0,0 +1,104 @@
<chapter id="cha-links">
<title>Linking elements</title>
<para>
You can link the different pads of elements together so that the elements
form a chain.
</para>
<figure float="1" id="sec-link">
<title>Visualisation of three linked elements</title>
<mediaobject>
<imageobject>
<imagedata fileref="images/linked-elements.&magic;" format="&MAGIC;" />
</imageobject>
</mediaobject>
</figure>
<para>
By linking these three elements, we have created a very simple
chain. The effect of this will be that the output of the source element
(element1) will be used as input for the filter element (element2). The
filter element will do something with the data and send the result to
the final sink element (element3).
</para>
<para>
Imagine the above graph as a simple MPEG audio decoder. The source
element is a disk source, the filter element is the MPEG decoder and
the sink element is your audiocard. We will use this simple graph to
construct an MPEG player later in this manual.
</para>
<sect1 id="sec-link-basic">
<title>Making simple links</title>
<para>
You can link two pads with:
</para>
<programlisting>
GstPad *srcpad, *sinkpad;
srcpad = gst_element_get_pad (element1, "src");
sinpad = gst_element_get_pad (element2, "sink");
// link them
gst_pad_link (srcpad, sinkpad);
....
// and unlink them
gst_pad_unlink (srcpad, sinkpad);
</programlisting>
<para>
A convenient shortcut for the above code is done with the gst_element_link_pads ()
function:
</para>
<programlisting>
// link them
gst_element_link_pads (element1, "src", element2, "sink");
....
// and unlink them
gst_element_unlink_pads (element1, "src", element2, "sink");
</programlisting>
<para>
An even more convenient shortcut for single-source, single-sink elements is the
gst_element_link () function:
</para>
<programlisting>
// link them
gst_element_link (element1, element2);
....
// and unlink them
gst_element_unlink (element1, element2);
</programlisting>
<para>
If you have more than one element to link, the gst_element_link_many () function takes
a NULL-terminated list of elements:
</para>
<programlisting>
// link them
gst_element_link_many (element1, element2, element3, element4, NULL);
....
// and unlink them
gst_element_unlink_many (element1, element2, element3, element4, NULL);
</programlisting>
<para>
You can query if a pad is linked with GST_PAD_IS_LINKED (pad).
</para>
<para>
To query for the <classname>GstPad</classname> a pad is linked to, use
gst_pad_get_peer (pad).
</para>
</sect1>
<sect1 id="sec-link-filtered">
<title>Making filtered links</title>
<para>
You can also force a specific media type on the link by using gst_pad_link_filtered ()
and gst_element_link_filtered (). FIXME link to caps documentation.
</para>
</sect1>
</chapter>

View file

@ -28,7 +28,7 @@ Basic concepts
(what is it) (what is it)
(types) sink, src, filter (types) sink, src, filter
(have pads) (have pads)
connecting elements linking elements
bin bin
(can contain elements) (can contain elements)
pipeline (a complete graph) pipeline (a complete graph)

View file

@ -100,13 +100,13 @@ main (int argc, char *argv[])
</para> </para>
</sect3> </sect3>
<sect3> <sect3>
<title>Connections</title> <title>Links</title>
<screen> <screen>
... !sink ... ... !sink ...
</screen> </screen>
<para> <para>
An exclamation point, optionally having a qualified pad name (an the name of the pad, An exclamation point, optionally having a qualified pad name (an the name of the pad,
optionally preceded by the name of the element) on both sides, will connect two pads. If optionally preceded by the name of the element) on both sides, will link two pads. If
the source pad is not specified, a source pad from the immediately preceding element the source pad is not specified, a source pad from the immediately preceding element
will be automatically chosen. If the sink pad is not specified, a sink pad from the next will be automatically chosen. If the sink pad is not specified, a sink pad from the next
element to be constructed will be chosen. An attempt will be made to find compatible element to be constructed will be chosen. An attempt will be made to find compatible

View file

@ -46,7 +46,7 @@
<programlisting> <programlisting>
GstElement *bin; GstElement *bin;
// create a bin, put elements in it and connect them // create a bin, put elements in it and link them
... ...
gst_element_set_state (bin, GST_STATE_PLAYING); gst_element_set_state (bin, GST_STATE_PLAYING);
... ...

View file

@ -23,7 +23,7 @@
gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (funky_src)); gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (funky_src));
gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (cool_effect)); gst_bin_add (GST_BIN (my_thread), GST_ELEMENT (cool_effect));
/* connect the elements here... */ /* link the elements here... */
... ...
/* start playing */ /* start playing */
@ -41,7 +41,7 @@
<title>Constraints placed on the pipeline by the GstThread</title> <title>Constraints placed on the pipeline by the GstThread</title>
<para> <para>
Within the pipeline, everything is the same as in any other bin. The Within the pipeline, everything is the same as in any other bin. The
difference lies at the thread boundary, at the connection between the difference lies at the thread boundary, at the link between the
thread and the outside world (containing bin). Since GStreamer is thread and the outside world (containing bin). Since GStreamer is
fundamentally buffer-oriented rather than byte-oriented, the natural fundamentally buffer-oriented rather than byte-oriented, the natural
solution to this problem is an element that can "buffer" the buffers solution to this problem is an element that can "buffer" the buffers
@ -135,7 +135,7 @@ main (int argc, char *argv[])
/* add objects to the thread */ /* add objects to the thread */
gst_bin_add_many (GST_BIN (thread), filesrc, decoder, audiosink, NULL); gst_bin_add_many (GST_BIN (thread), filesrc, decoder, audiosink, NULL);
/* connect them in the logical order */ /* link them in the logical order */
gst_element_link_many (filesrc, decoder, audiosink, NULL); gst_element_link_many (filesrc, decoder, audiosink, NULL);
/* start playing */ /* start playing */

View file

@ -103,7 +103,7 @@ main(int argc, char *argv[])
</programlisting> </programlisting>
<para> <para>
We create a very simple pipeline with only a filesrc and the typefind We create a very simple pipeline with only a filesrc and the typefind
element in it. The sinkpad of the typefind element has been connected element in it. The sinkpad of the typefind element has been linked
to the source pad of the filesrc. to the source pad of the filesrc.
</para> </para>
<para> <para>
@ -140,7 +140,7 @@ type_found (GstElement *typefind, GstCaps* caps)
<para> <para>
A more useful option would be to use the registry to look up an element A more useful option would be to use the registry to look up an element
that can handle this particular caps structure, or we can also use the that can handle this particular caps structure, or we can also use the
autoplugger to connect this caps structure to, for example, a videosink. autoplugger to link this caps structure to, for example, a videosink.
</para> </para>
</chapter> </chapter>

View file

@ -16,7 +16,7 @@
</para> </para>
<para> <para>
Elements are at the core of &GStreamer;. Without elements, &GStreamer; is Elements are at the core of &GStreamer;. Without elements, &GStreamer; is
just a bunch of pipe fittings with nothing to connect. A large number of just a bunch of pipe fittings with nothing to link. A large number of
elements (filters, sources, and sinks) ship with &GStreamer;, but extra elements (filters, sources, and sinks) ship with &GStreamer;, but extra
elements can also be written. The purpose of this guide is to help you elements can also be written. The purpose of this guide is to help you
learn to create new elements. learn to create new elements.

View file

@ -6,7 +6,7 @@
<para> <para>
A type system is used to ensure that the data passed between elements is in A type system is used to ensure that the data passed between elements is in
a recognised format, and that the various parameters required to fully a recognised format, and that the various parameters required to fully
specify that format match up correctly. Each connection that is made between specify that format match up correctly. Each link that is made between
elements has a specified type. This is related, but different, to the elements has a specified type. This is related, but different, to the
metadata in buffers which describes the type of data in that particular metadata in buffers which describes the type of data in that particular
buffer. See the next chapter of this document for details of the available buffer. See the next chapter of this document for details of the available

View file

@ -11,8 +11,8 @@
</para> </para>
</chapter> </chapter>
<chapter id="cha-testapp-connect"> <chapter id="cha-testapp-link">
<title>Connecting the plugins</title> <title>Linking the plugins</title>
<para> <para>
</para> </para>
</chapter> </chapter>

View file

@ -18,10 +18,10 @@
Elements are at the core of &GStreamer;. In the context of plugin Elements are at the core of &GStreamer;. In the context of plugin
development, an <emphasis>element</emphasis> is an object derived from the development, an <emphasis>element</emphasis> is an object derived from the
<classname>GstElement</classname> class. Elements provide some sort of <classname>GstElement</classname> class. Elements provide some sort of
functionality when connected with other elements: For example, a source functionality when linked with other elements: For example, a source
element provides data to a stream, and a filter element acts on the data element provides data to a stream, and a filter element acts on the data
in a stream. Without elements, &GStreamer; is just a bunch of conceptual in a stream. Without elements, &GStreamer; is just a bunch of conceptual
pipe fittings with nothing to connect. A large number of elements ship pipe fittings with nothing to link. A large number of elements ship
with &GStreamer;, but extra elements can also be written. with &GStreamer;, but extra elements can also be written.
</para> </para>
<para> <para>
@ -37,7 +37,7 @@
A <emphasis>filter</emphasis> is an important type of element that A <emphasis>filter</emphasis> is an important type of element that
processes a stream of data. Producers and consumers of data are called processes a stream of data. Producers and consumers of data are called
<emphasis>source</emphasis> and <emphasis>sink</emphasis> elements, <emphasis>source</emphasis> and <emphasis>sink</emphasis> elements,
respectively. Elements that connect other elements together are called respectively. Elements that link other elements together are called
<emphasis>autoplugger</emphasis> elements, and a <emphasis>bin</emphasis> <emphasis>autoplugger</emphasis> elements, and a <emphasis>bin</emphasis>
element contains other elements. Bins are often responsible for scheduling element contains other elements. Bins are often responsible for scheduling
the elements that they contain so that data flows smoothly. the elements that they contain so that data flows smoothly.
@ -65,27 +65,27 @@
<sect1 id="sect1-basics-pads" xreflabel="Pads"> <sect1 id="sect1-basics-pads" xreflabel="Pads">
<title>Pads</title> <title>Pads</title>
<para> <para>
<emphasis>Pads</emphasis> are used to negotiate connections and data flow <emphasis>Pads</emphasis> are used to negotiate links and data flow
between elements in &GStreamer;. A pad can be viewed as a between elements in &GStreamer;. A pad can be viewed as a
<quote>place</quote> or <quote>port</quote> on an element where <quote>place</quote> or <quote>port</quote> on an element where
connections may be made with other elements. Pads have specific data links may be made with other elements. Pads have specific data
handling capabilities: A pad only knows how to give or receive certain handling capabilities: A pad only knows how to give or receive certain
types of data. Connections are only allowed when the capabilities of two types of data. Links are only allowed when the capabilities of two
pads are compatible. pads are compatible.
</para> </para>
<para> <para>
An analogy may be helpful here. A pad is similar to a plug or jack on a An analogy may be helpful here. A pad is similar to a plug or jack on a
physical device. Consider, for example, a home theater system consisting physical device. Consider, for example, a home theater system consisting
of an amplifier, a DVD player, and a (silent) video projector. Connecting of an amplifier, a DVD player, and a (silent) video projector. Linking
the DVD player to the amplifier is allowed because both devices have audio the DVD player to the amplifier is allowed because both devices have audio
jacks, and connecting the projector to the DVD player is allowed because jacks, and linking the projector to the DVD player is allowed because
both devices have compatible video jacks. Connections between the both devices have compatible video jacks. Links between the
projector and the amplifier may not be made because the projector and projector and the amplifier may not be made because the projector and
amplifier have different types of jacks. Pads in &GStreamer; serve the amplifier have different types of jacks. Pads in &GStreamer; serve the
same purpose as the jacks in the home theater system. same purpose as the jacks in the home theater system.
</para> </para>
<para> <para>
For the moment, all data in &GStreamer; flows one way through a connection For the moment, all data in &GStreamer; flows one way through a link
between elements. Data flows out of one element through one or more between elements. Data flows out of one element through one or more
<emphasis>source pads</emphasis>, and elements accept incoming data through <emphasis>source pads</emphasis>, and elements accept incoming data through
one or more <emphasis>sink pads</emphasis>. Source and sink elements have one or more <emphasis>sink pads</emphasis>. Source and sink elements have
@ -107,7 +107,7 @@
passed from a source pad on one element to a sink pad on another element. passed from a source pad on one element to a sink pad on another element.
<emphasis>Buffers</emphasis> are structures used to hold these chunks of <emphasis>Buffers</emphasis> are structures used to hold these chunks of
data. Buffers can be of any size, theoretically, and they may contain any data. Buffers can be of any size, theoretically, and they may contain any
sort of data that the two connected pads know how to handle. Normally, a sort of data that the two linked pads know how to handle. Normally, a
buffer contains a chunk of some sort of audio or video data that flows buffer contains a chunk of some sort of audio or video data that flows
from one element to another. from one element to another.
</para> </para>
@ -188,7 +188,7 @@
&GStreamer; uses a type system to ensure that the data passed between &GStreamer; uses a type system to ensure that the data passed between
elements is in a recognized format. The type system is also important for elements is in a recognized format. The type system is also important for
ensuring that the parameters required to fully specify a format match up ensuring that the parameters required to fully specify a format match up
correctly when connecting pads between elements. Each connection that is correctly when linking pads between elements. Each link that is
made between elements has a specified type. made between elements has a specified type.
</para> </para>