GstAutoplug
Automatically create and link elements
GstAutoplug is an abstract class that is used for constructing and
linking elements. Two types of autopluggers exist: renderer ones and non
renderer ones. The renderer autopluggers will not have any src pads while the
non renderer ones do.
You first need to create a suitable autoplugger with gst_autoplug_factory_make()
(see #GstAutoplugFactory).
The name of the autoplugger must be one of the registered autopluggers
(see #GstStaticAutoplug and #GstStaticAutoplugRender).
If the autoplugger supports the RENDERER API, use gst_autoplug_to_renderers() to
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.
GstAutoplug *autoplug;
GstElement *element;
GstElement *sink;
/* create a static autoplugger */
autoplug = gst_autoplug_factory_make ("staticrender");
/* create an osssink */
sink = gst_element_factory_make ("osssink", "our_sink");
/* create an element that can play audio/mp3 through osssink */
element = gst_autoplug_to_renderers (autoplug,
gst_caps_new (
"sink_audio_caps",
"audio/mp3",
NULL
),
sink,
NULL);
/* add the element to a bin and link the sink pad */
...
If the autoplugger supports the CAPS API, use gst_autoplug_to_caps() to
link the src caps to the destination caps. The created bin will have src caps
compatible with the provided sink caps.
GstAutoplug *autoplug;
GstElement *element;
/* create a static autoplugger */
autoplug = gst_autoplug_factory_make ("static");
/* create an element that converts audio/mp3 to audio/raw */
element = gst_autoplug_to_caps (autoplug,
gst_caps_new (
"sink_audio_caps",
"audio/mp3",
NULL
),
gst_caps_new (
"src_audio_caps",
"audio/raw",
NULL
),
NULL);
/* add the element to a bin and link the src/sink pads */
...
Optionally you can get a notification when a new object is added to the created
pipeline with a g_signal_connect to the "new_object" signal.
Use the regular gst_object_destroy() call to destroy the autoplugger.
#GstStaticAutoplug, #GstStaticAutoplugRender
The autoplug object
@gstautoplug: the object which received the signal.
@arg1:
The type of the autoplugger.
@GST_AUTOPLUG_TO_CAPS:
@GST_AUTOPLUG_TO_RENDERER:
@GST_AUTOPLUG_FLAG_LAST:
@autoplug:
@object:
@autoplug:
@srccaps:
@sinkcaps:
@Varargs:
@Returns:
@autoplug:
@srccaps:
@target:
@Varargs:
@Returns: