mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
fix doc build for glib2 remove template files from cvs, they are generated with gtkdoc-mktmpl new, cleaner interface ...
Original commit message from CVS: * fix doc build for glib2 * remove template files from cvs, they are generated with gtkdoc-mktmpl * new, cleaner interface to the parser facilities * cleanups in gstparse.c
This commit is contained in:
parent
dcfb86bb73
commit
f38969ff25
64 changed files with 294 additions and 12897 deletions
|
@ -271,8 +271,11 @@ else
|
|||
if $HAVE_GTK_DOC; then
|
||||
AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scangobj, true, false)
|
||||
if $HAVE_GTK_DOC; then
|
||||
GTK_DOC_SCANOBJ=gtkdoc-scangobj
|
||||
fi;
|
||||
# don't you love undocumented command line options?
|
||||
GTK_DOC_SCANOBJ="gtkdoc-scangobj --nogtkinit"
|
||||
else
|
||||
GTK_DOC_SCANOBJ=false
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl FIXME: check for gnome2 - this conditional is currently
|
||||
|
|
|
@ -48,8 +48,8 @@ extra_files =
|
|||
|
||||
# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
|
||||
# contains GtkObjects/GObjects and you want to document signals and properties.
|
||||
GTKDOC_CFLAGS = $(GST_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS)
|
||||
GTKDOC_LIBS = $(GST_LIBS) $(GLIB_LIBS) $(XML_LIBS) $(SCANOBJ_DEPS)
|
||||
GTKDOC_CFLAGS = $(GST_CFLAGS)
|
||||
GTKDOC_LIBS = $(GST_LIBS) $(SCANOBJ_DEPS)
|
||||
|
||||
# $(shell echo $(top_builddir)/gst/autoplug/*.la) \
|
||||
# $(top_builddir)/gst/types/libgsttypes.la \
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
GtkObject
|
||||
GtkWidget
|
||||
GtkRange
|
||||
GtkScrollbar
|
||||
GtkVScrollbar
|
||||
GtkHScrollbar
|
||||
GtkScale
|
||||
GtkHScale
|
||||
GtkVScale
|
||||
GtkContainer
|
||||
GtkBin
|
||||
GtkScrolledWindow
|
||||
GtkButton
|
||||
GtkToggleButton
|
||||
GtkCheckButton
|
||||
GtkRadioButton
|
||||
GtkPaned
|
||||
GtkVPaned
|
||||
GtkHPaned
|
||||
GtkBox
|
||||
GtkHBox
|
||||
GtkCombo
|
||||
GtkCList
|
||||
GtkEditable
|
||||
GtkEntry
|
||||
GtkSpinButton
|
||||
GtkData
|
||||
GtkAdjustment
|
||||
GObject
|
||||
GstObject
|
||||
GstXml
|
||||
GstElement
|
||||
GstBin
|
||||
GstPipeline
|
||||
GstThread
|
||||
GstTee
|
||||
GstAggregator
|
||||
GstFakeSrc
|
||||
GstFakeSink
|
||||
GstFileSrc
|
||||
GstFdSrc
|
||||
GstFdSink
|
||||
GstPipefilter
|
||||
GstIdentity
|
||||
GstQueue
|
||||
GstStatistics
|
||||
GstTypeFind
|
||||
GstPad
|
||||
GstPluginFeature
|
||||
GstAutoplugFactory
|
||||
GstTypeFactory
|
||||
GstElementFactory
|
||||
GstSchedulerFactory
|
|
@ -1,4 +1,3 @@
|
|||
#include <gtk/gtk.h>
|
||||
#include <gst/gst.h>
|
||||
|
||||
gst_object_get_type
|
||||
|
|
|
@ -1,208 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
cothreads
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
userspace threads
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Cothreads are a simple user-space method for switching between
|
||||
subtasks. They're based on setjmp()/longjmp() in their current form.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Cothreads are used for loop-based elements that pull data instead
|
||||
of being fed with data. They can also be used to pull a specific region
|
||||
of data out of their src element.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### MACRO CURRENT_STACK_FRAME ##### -->
|
||||
<para>
|
||||
Get the current stack frame.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### STRUCT cothread_state ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ctx:
|
||||
@threadnum:
|
||||
@func:
|
||||
@argc:
|
||||
@argv:
|
||||
@flags:
|
||||
@sp:
|
||||
@jmp:
|
||||
@top_sp:
|
||||
@pc:
|
||||
|
||||
<!-- ##### STRUCT cothread_context ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION cothread_func ##### -->
|
||||
<para>
|
||||
the function that will be called when the cothread starts. The function
|
||||
prototype is like a main() function, so you can do whatever you want with
|
||||
it.
|
||||
</para>
|
||||
|
||||
@argc: a main-like argument count
|
||||
@argv: a main-like array of arguments
|
||||
@Returns: a return code
|
||||
|
||||
|
||||
<!-- ##### MACRO COTHREAD_STARTED ##### -->
|
||||
<para>
|
||||
Indicates the cothread is started.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO COTHREAD_DESTROYED ##### -->
|
||||
<para>
|
||||
Indicates the cothread is destroyed.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_context_init ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_context_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ctx:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_create ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ctx:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_setfunc ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
@func:
|
||||
@argc:
|
||||
@argv:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_stop ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_switch ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_set_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
@key:
|
||||
@data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_get_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
@key:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_lock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_trylock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_unlock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@thread:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_main ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ctx:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_current_main ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cothread_current ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GObject
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,109 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
Gstreamer
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Media library supporting arbitrary formats and filter graphs.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GStreamer is a framework for constructing graphs of various filters
|
||||
(termed elements here) that will handle streaming media. Any discreet
|
||||
(packetizable) media type is supported, with provisions for automatically
|
||||
determining source type. Metadata can be passed with all data to provide
|
||||
formatting/framing information. Plugins are heavily used to provide for
|
||||
all elements, allowing one to construct plugins outside of the GST
|
||||
library, even released binary-only if license require (please don't).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
GStreamer borrows heavily from both the <ulink
|
||||
url="http://www.cse.ogi.edu/sysl/">OGI media pipeline</ulink> and
|
||||
Microsoft's DirectShow, hopefully taking the best of both and leaving the
|
||||
cruft behind. Its interface is still very fluid (I've redesigned the
|
||||
metadata handling twice already), and thus can be changed to increase the
|
||||
sanity/noise ratio.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The <application>GStreamer</application> library should be initialized with gst_init() before
|
||||
it can be used. You should pass a pointer to the main argc and argv variables so that GStreamer can
|
||||
process its own command line options, as shown in the following example.
|
||||
|
||||
<programlisting>
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
// initialize the GStreamer library
|
||||
gst_init (&argc, &argv);
|
||||
...
|
||||
}
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
Use gst_version() to query the library version at runtime or use the GST_VERSION_* macros
|
||||
to find the version at compile time.
|
||||
</para>
|
||||
<para>
|
||||
gst_main() and gst_main_quit() enter and exit the main loop.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
Check out both <ulink url="http://www.cse.ogi.edu/sysl/">OGI's
|
||||
pipeline</ulink> and Microsoft's DirectShow for some background.
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gst_init ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@argc:
|
||||
@argv:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_version ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@major:
|
||||
@minor:
|
||||
@micro:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_main ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_main_quit ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_VERSION_MAJOR ##### -->
|
||||
<para>
|
||||
The major version of GStreamer at compile time
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_VERSION_MINOR ##### -->
|
||||
<para>
|
||||
The minor version of GStreamer at compile time
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_VERSION_MICRO ##### -->
|
||||
<para>
|
||||
The micro version of GStreamer at compile time
|
||||
</para>
|
||||
|
||||
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstAggregator
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Combine buffers.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The aggregator is mainly used for testing purposes. It has several
|
||||
methods to request buffers from its pads.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstAggregatorSchedType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@AGGREGATOR_LOOP:
|
||||
@AGGREGATOR_LOOP_PEEK:
|
||||
@AGGREGATOR_LOOP_SELECT:
|
||||
@AGGREGATOR_CHAIN:
|
||||
|
||||
<!-- ##### ARG GstAggregator:num-pads ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstAggregator:silent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstAggregator:sched ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
gstarch
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Architecural specific macros and functions.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This file contains various macros and function for performing common
|
||||
GStreamer tasks that requires some knowledge of the underlaying architecture.
|
||||
Porting to other CPU architectures will typically require adding appropriate
|
||||
implementations in this file.
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### MACRO GST_ARCH_CALL ##### -->
|
||||
<para>
|
||||
Jumps to a specific location in memory.
|
||||
</para>
|
||||
|
||||
@target: the memory to jump to.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ARCH_SET_SP ##### -->
|
||||
<para>
|
||||
Sets the stackpointer.
|
||||
</para>
|
||||
|
||||
@stackpointer: the stackpointer to set.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ARCH_SETUP_STACK ##### -->
|
||||
<para>
|
||||
Make toom on the stack?
|
||||
</para>
|
||||
|
||||
@sp: the stackpointer to modify.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ARCH_PRESETJMP ##### -->
|
||||
<para>
|
||||
Do something funny, which is required on some archs..
|
||||
</para>
|
||||
|
||||
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstAutoplug
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Automatically create and connect elements
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstAutoplug is an abstract class that is used for constructing and
|
||||
connecting 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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You first need to create a suitable autoplugger with gst_autoplugfactory_make()
|
||||
(see #GstAutoplugFactory).
|
||||
The name of the autoplugger must be one of the registered autopluggers
|
||||
(see #GstStaticAutoplug and #GstStaticAutoplugRender).
|
||||
</para>
|
||||
<para>
|
||||
If the autoplugger supports the RENDERER API, use gst_autoplug_to_renderers() call to
|
||||
create a bin that connectes the src caps to the specified rendrer elements. You can
|
||||
then add the bin to a pipeline and run it.
|
||||
|
||||
<programlisting>
|
||||
GstAutoplug *autoplug;
|
||||
GstElement *element;
|
||||
GstElement *sink;
|
||||
|
||||
/* create a static autoplugger */
|
||||
autoplug = gst_autoplugfactory_make ("staticrender");
|
||||
|
||||
/* create an osssink */
|
||||
sink = gst_elementfactory_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 connect the sink pad */
|
||||
...
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
If the autoplugger supports the CAPS API, use gst_autoplug_to_caps() call to
|
||||
connect the src caps to the destination caps. The created bin will have src pads
|
||||
compatible with the provided sink caps.
|
||||
|
||||
<programlisting>
|
||||
GstAutoplug *autoplug;
|
||||
GstElement *element;
|
||||
|
||||
/* create a static autoplugger */
|
||||
autoplug = gst_autoplugfactory_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 connect the src/sink pads */
|
||||
...
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Use the regular gst_object_destroy() call to destroy the autoplugger.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstStaticAutoplug, #GstStaticAutoplugRender
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstAutoplug ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
|
||||
<!-- ##### ENUM GstAutoplugFlags ##### -->
|
||||
<para>
|
||||
The type of the autoplugger.
|
||||
</para>
|
||||
|
||||
@GST_AUTOPLUG_TO_CAPS:
|
||||
@GST_AUTOPLUG_TO_RENDERER:
|
||||
@GST_AUTOPLUG_FLAG_LAST:
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplug_signal_new_object ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@autoplug:
|
||||
@object:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplug_to_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@autoplug:
|
||||
@srccaps:
|
||||
@sinkcaps:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplug_to_renderers ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@autoplug:
|
||||
@srccaps:
|
||||
@target:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstAutoplugFactory
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Create autopluggers from a factory.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
An autoplugfactory is used to create instances of an autoplugger. It
|
||||
can be added to a #GstPlugin as it extends #GstPluginFeature.
|
||||
</para>
|
||||
<para>
|
||||
Use gst_autoplugfactory_new() to create a new autoplugger which can be registered
|
||||
to a plugin with gst_plugin_add_feature().
|
||||
</para>
|
||||
<para>
|
||||
Use gst_autoplugfactory_find() to find the named autoplugfactory.
|
||||
or use gst_autoplugfactory_get_list() to get a list of all available autopluggers.
|
||||
</para>
|
||||
<para>
|
||||
Once an autoplugfactory has been obtained use gst_autoplugfactory_create() to
|
||||
instantiate a real autoplugger. Optionally gst_autoplugfactory_make() to create
|
||||
a autoplugger from the named factory.
|
||||
</para>
|
||||
<para>
|
||||
Use gst_autoplugfactory_destroy() to remove the factory from the global list.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstAutoplug, #GstPlugin, #GstPluginFeature.
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstAutoplugFactory ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplugfactory_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@longdesc:
|
||||
@type:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplugfactory_destroy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplugfactory_find ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplugfactory_get_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplugfactory_create ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_autoplugfactory_make ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,176 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstBin
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Base container element
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstBin is the simplest of the container elements, allowing elements to
|
||||
become children of itself. Pads from the child elements can be ghosted to
|
||||
the bin, making the bin itself look transparently like any other element,
|
||||
allowing for deep nesting of predefined sub-pipelines.
|
||||
</para>
|
||||
<para>
|
||||
A new GstBin is created with gst_bin_new(). Use a #GstPipeline instead if you want
|
||||
to create a toplevel bin because a normal bin doesn't have a scheduler of its
|
||||
own.
|
||||
</para>
|
||||
<para>
|
||||
After the bin has been created you will typically add elements to it with
|
||||
gst_bin_add(). You can remove elements with gst_bin_remove().
|
||||
</para>
|
||||
<para>
|
||||
An element can be retrieved from a bin with gst_bin_get_by_name(), using the
|
||||
elements name. gst_bin_get_by_name_recurse_up() is mainly used for internal
|
||||
purposes and will query the parent bins when the element is not found in the
|
||||
current bin.
|
||||
</para>
|
||||
<para>
|
||||
The list of elements in a bin can be retrieved with gst_bin_get_list().
|
||||
</para>
|
||||
<para>
|
||||
After the bin has been set to the PLAYING state (with gst_element_set_state()),
|
||||
gst_bin_iterate() is used to process the elements in the bin.
|
||||
</para>
|
||||
<para>
|
||||
The "object_added" signal is fired whenever a new object is added to the bin.
|
||||
</para>
|
||||
<para>
|
||||
gst_bin_destroy() is used to destroy the bin.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstBinFlags ##### -->
|
||||
<para>
|
||||
Flags for a bin.
|
||||
</para>
|
||||
|
||||
@GST_BIN_FLAG_MANAGER:
|
||||
@GST_BIN_SELF_SCHEDULABLE:
|
||||
@GST_BIN_FLAG_PREFER_COTHREADS:
|
||||
@GST_BIN_FLAG_LAST:
|
||||
|
||||
<!-- ##### STRUCT GstBin ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_bin_destroy ##### -->
|
||||
<para>
|
||||
Free the memory allocated by this bin
|
||||
</para>
|
||||
|
||||
@bin: the bin to free
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_add ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_remove ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_get_by_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_get_by_name_recurse_up ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_get_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_set_state_type ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@state:
|
||||
@type:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_iterate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_child_state_change ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@oldstate:
|
||||
@newstate:
|
||||
@child:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_bin_child_error ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@bin:
|
||||
@child:
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GstBin::object-added ##### -->
|
||||
<para>
|
||||
is signaled whenever a new <classname>GstElement</classname> is added to the <classname>GstBin</classname>
|
||||
|
||||
</para>
|
||||
|
||||
@gstbin: the object which received the signal.
|
||||
@arg1: the element that was added
|
||||
|
|
@ -1,401 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstBuffer
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Data-passing buffer type, supporting sub-buffers and metadata
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Buffers are the basic unit of data transfer in GST. The GstBuffer type
|
||||
provides all the state necessary to define a region of memory as part of a
|
||||
stream. Sub-buffer are also supported, allowing a smaller region of a
|
||||
buffer to become its own buffer, with mechanisms in place to ensure that
|
||||
neither memory space goes away. Metadata is supported as a list of
|
||||
pointers to arbitrary metadata.
|
||||
</para>
|
||||
<para>
|
||||
Buffers are usually created with gst_buffer_new(). After a buffer has been
|
||||
created one will typically allocate memory for it and set the size of the
|
||||
buffer data.
|
||||
<programlisting>
|
||||
GstBuffer *buffer;
|
||||
gint size, widht, height, bpp;
|
||||
|
||||
size = width * height * bpp;
|
||||
|
||||
buffer = gst_buffer_new ();
|
||||
GST_BUFFER_SIZE (buffer) = size;
|
||||
GST_BUFFER_DATA (buffer) = g_alloc (size);
|
||||
...
|
||||
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
GstBuffers can also be created from a GstBufferPool with
|
||||
gst_buffer_new_from_pool(). The bufferpool can be obtained from a
|
||||
peer element with gst_pad_get_bufferpool().
|
||||
</para>
|
||||
<para>
|
||||
gst_buffer_ref() is used to increase the refcount of a buffer. This must be
|
||||
done when you want to keep a handle to the buffer after pushing it to the
|
||||
next element.
|
||||
</para>
|
||||
<para>
|
||||
To efficiently create a smaller buffer out of an existing one, you can
|
||||
use gst_buffer_create_sub().
|
||||
</para>
|
||||
<para>
|
||||
Several flags of the buffer can be set and unset with the GST_BUFFER_FLAG_SET()
|
||||
and GST_BUFFER_FLAG_UNSET() macros. Use GST_BUFFER_FLAG_IS_SET() to test it
|
||||
a certain flag is set.
|
||||
</para>
|
||||
<para>
|
||||
Buffers usually are freed by unreffing them with gst_buffer_unref().
|
||||
gst_buffer_destroy() can also be used to effectively destroy the buffer
|
||||
regardless of the refcount (dangerous).
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstBufferPool, #GstPad, #GstData
|
||||
</para>
|
||||
|
||||
<!-- ##### MACRO GST_IS_BUFFER ##### -->
|
||||
<para>
|
||||
Check if the object is a buffer.
|
||||
</para>
|
||||
|
||||
@buf: The object to check
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER ##### -->
|
||||
<para>
|
||||
Cast an object to a GstBuffer
|
||||
</para>
|
||||
|
||||
@buf: The object to cast.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_FLAGS ##### -->
|
||||
<para>
|
||||
Get the flags from this buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to retrieve the flags from
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_FLAG_IS_SET ##### -->
|
||||
<para>
|
||||
Gives the status of a given flag.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to query
|
||||
@flag: the flag to check
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_FLAG_SET ##### -->
|
||||
<para>
|
||||
Set a flag in a buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to query
|
||||
@flag: the flag to set
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_FLAG_UNSET ##### -->
|
||||
<para>
|
||||
Clear a flag in a buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to modify
|
||||
@flag: the flag to clear
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_DATA ##### -->
|
||||
<para>
|
||||
Retrieves a pointer to the data element of this buffer
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_SIZE ##### -->
|
||||
<para>
|
||||
Get the size of the data in this buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_OFFSET ##### -->
|
||||
<para>
|
||||
Get the offset in the source file of this buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_MAXSIZE ##### -->
|
||||
<para>
|
||||
Gets the maximun size of this buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_TIMESTAMP ##### -->
|
||||
<para>
|
||||
Get the timestamp for this buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_BUFFERPOOL ##### -->
|
||||
<para>
|
||||
Get the bufferpool for this buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_POOL_PRIVATE ##### -->
|
||||
<para>
|
||||
Get the bufferpool private data.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_LOCK ##### -->
|
||||
<para>
|
||||
This macro will obtain a lock on the object, making serialization
|
||||
possible.
|
||||
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to lock
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_TRYLOCK ##### -->
|
||||
<para>
|
||||
This macro will try to obtain a lock on the object, but will return with
|
||||
FALSE if it can't get it immediately.
|
||||
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to try to lock
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_UNLOCK ##### -->
|
||||
<para>
|
||||
This macro releases a lock on the object.
|
||||
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to unlock.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_PARENT ##### -->
|
||||
<para>
|
||||
Get the parent of this buffer. The parent is set on subbuffers.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to get the parent of.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_MAXAGE ##### -->
|
||||
<para>
|
||||
Get the maximun age of a buffer.
|
||||
</para>
|
||||
|
||||
@buf: GstBuffer to get the maxage of.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_COPY_FUNC ##### -->
|
||||
<para>
|
||||
Call the buffer specific copy function on the given buffer.
|
||||
</para>
|
||||
|
||||
@buf: the buffer to copy.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_FREE_FUNC ##### -->
|
||||
<para>
|
||||
Call the buffer specific free function on the given buffer.
|
||||
</para>
|
||||
|
||||
@buf: the buffer to free.
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstBufferCopyFunc ##### -->
|
||||
<para>
|
||||
This function is used to copy the buffer contents.
|
||||
</para>
|
||||
|
||||
@srcbuf: the src buffer
|
||||
@Returns: The copied buffer
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstBufferFreeFunc ##### -->
|
||||
<para>
|
||||
The function called when the buffer data has to be freed
|
||||
</para>
|
||||
|
||||
@buf: the buffer to clear the buffer data of.
|
||||
|
||||
|
||||
<!-- ##### ENUM GstBufferFlags ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_BUFFER_READONLY: the buffer is read only
|
||||
@GST_BUFFER_ORIGINAL: this buffer not a copy
|
||||
@GST_BUFFER_DONTFREE: do not try to free the data when this buffer is unref-ed
|
||||
|
||||
<!-- ##### STRUCT GstBuffer ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@data_type:
|
||||
@lock:
|
||||
@data:
|
||||
@size:
|
||||
@maxsize:
|
||||
@offset:
|
||||
@timestamp:
|
||||
@maxage:
|
||||
@parent:
|
||||
@pool:
|
||||
@pool_private:
|
||||
@free:
|
||||
@copy:
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_new_from_pool ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@offset:
|
||||
@size:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@location:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_copy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buffer:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_create_sub ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent:
|
||||
@offset:
|
||||
@size:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_append ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buffer:
|
||||
@append:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@buf:
|
||||
@buf2:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_ref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buffer:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_ref_by_count ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buffer:
|
||||
@count:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_unref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buffer:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_destroy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buffer:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_is_span_fast ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buf1:
|
||||
@buf2:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_merge ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buf1:
|
||||
@buf2:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_span ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buf1:
|
||||
@offset:
|
||||
@buf2:
|
||||
@len:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_print_stats ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
|
@ -1,226 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstBufferPool
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Create buffers from a pool
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
A bufferpool is used to create buffers in an efficient way. En element
|
||||
can maintain a bufferpool with a fixed number of buffers. This will reduce
|
||||
the g_malloc and g_free overhead.
|
||||
</para>
|
||||
<para>
|
||||
A bufferpool can also be used to implement direct access. A bufferpool can be
|
||||
sent from one element to another so that the latter can directly write into
|
||||
the memory of the element that maintains the bufferpool. This can greatly reduce
|
||||
the number of memcpy operations.
|
||||
</para>
|
||||
<para>
|
||||
A bufferpool is created with gst_buffer_pool_new(). You'll have to set the
|
||||
buffer new and free function afterwards with gst_buffer_pool_set_buffer_new_function() and
|
||||
gst_buffer_pool_set_buffer_free_function() so that all buffers created
|
||||
from this pool will be allocated/freed with these functions.
|
||||
</para>
|
||||
<para>
|
||||
Optionally the default buffer copy function of the buffers allocated from this pool
|
||||
can be overridden with gst_buffer_pool_set_buffer_copy_function().
|
||||
</para>
|
||||
<para>
|
||||
To create a buffer from the bufferpool use gst_buffer_new_from_pool().
|
||||
</para>
|
||||
<para>
|
||||
When the buffer is unreffed and has reached a refcount of 0, the bufferpools free
|
||||
function is called with the buffer as an argument.
|
||||
</para>
|
||||
<para>
|
||||
A bufferpool can store private data in the buffer it creates with the GST_BUFFER_POOL_PRIVATE()
|
||||
macro. To check it a buffer was made by a specific bufferpool, use the GST_BUFFER_BUFFERPOOL()
|
||||
macro to get its bufferpool.
|
||||
</para>
|
||||
<para>
|
||||
Destroy the bufferpool with gst_buffer_pool_destroy(), optional cleanup of the bufferpool can
|
||||
be triggered in the GstBufferPoolDestroyHook which you can install with
|
||||
gst_buffer_pool_set_destroy_hook().
|
||||
</para>
|
||||
<para>
|
||||
The owner of the bufferpool can add user data to the pool with
|
||||
gst_buffer_pool_set_user_data() and gst_buffer_pool_get_user_data().
|
||||
</para>
|
||||
<para>
|
||||
If your plugin is going to need a lot of equally sized memory areas you can use
|
||||
gst_buffer_pool_get_default() to request a pool that will create buffers of that size.
|
||||
These bufferpools will be shared with all plugins needing the same size of buffers so it's
|
||||
quite efficient since it reduces the number of memory allocations.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A bufferpool can be requested from a pad with the gst_pad_get_bufferpool() function. This function
|
||||
is typically used when a plugin wants to write into a memory area provided by another plugin.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstBuffer, #GstPad
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstBufferPool ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@lock:
|
||||
@buffer_free:
|
||||
@buffer_copy:
|
||||
@destroy_hook:
|
||||
@user_data:
|
||||
|
||||
<!-- ##### USER_FUNCTION GstBufferPoolBufferNewFunction ##### -->
|
||||
<para>
|
||||
The function will be called when a buffer must be allocated from the pool.
|
||||
</para>
|
||||
|
||||
@pool: The pool allocating the buffer
|
||||
@location: the location (offset) of the buffer to allocate
|
||||
@size: The size of the allocated buffer
|
||||
@user_data: user data as set on the bufferpool
|
||||
@Returns: A new buffer with the given parameters.
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstBufferPoolDestroyHook ##### -->
|
||||
<para>
|
||||
Will be called when the bufferpool is destroyed so that the owner of the pool
|
||||
can perform necessary cleanup.
|
||||
</para>
|
||||
|
||||
@pool: The pool that is being destroyed
|
||||
@user_data: user data as set on th bufferpool
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_POOL_UNLOCK ##### -->
|
||||
<para>
|
||||
Lock the given bufferpool.
|
||||
</para>
|
||||
|
||||
@pool: The pool to lock.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_BUFFER_POOL_LOCK ##### -->
|
||||
<para>
|
||||
Unlock the given bufferpool.
|
||||
</para>
|
||||
|
||||
@pool: the bufferpool to unlock.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_ref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_ref_by_count ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@count:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_unref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
<!-- # Unused Parameters # -->
|
||||
@buffer:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_destroy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_get_default ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buffer_size:
|
||||
@pool_size:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@oldpool:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_set_user_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@user_data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_get_user_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@user_data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_set_buffer_copy_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@copy:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_set_buffer_free_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@destroy:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_set_buffer_new_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@create:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_buffer_pool_set_destroy_hook ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pool:
|
||||
@destroy:
|
||||
|
||||
|
|
@ -1,424 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstCaps
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Capabilities of pads
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstCaps is used to attach capabilities to a pad. Capabilities are made of
|
||||
a mime-type and a set of properties. GstCaps can be named and chained into
|
||||
a list, which is then a GstCaps on its own.
|
||||
</para>
|
||||
<para>
|
||||
GstCaps are created with gst_caps_new(), which takes a name, a mime type and
|
||||
a pointer to a #GstProps. A convenience macro with a cleaner syntax is
|
||||
available to create a caps with GST_CAPS_NEW(). The following example shows how
|
||||
to create a GstCaps.
|
||||
<programlisting>
|
||||
GstCaps *caps;
|
||||
|
||||
caps = gst_caps_new (
|
||||
"my_caps", /* capability name */
|
||||
"audio/raw", /* mime type */
|
||||
gst_props_new ( /* properties */
|
||||
"format", GST_PROPS_STRING ("float"),
|
||||
"layout", GST_PROPS_INT (5),
|
||||
NULL));
|
||||
</programlisting>
|
||||
|
||||
The following code example is equivalent to the above example:
|
||||
<programlisting>
|
||||
GstCaps *caps;
|
||||
|
||||
caps = GST_CAPS_NEW (
|
||||
"my_caps", /* capability name */
|
||||
"audio/raw", /* mime type */
|
||||
"format", GST_PROPS_STRING ("float"),
|
||||
"channels", GST_PROPS_INT (5)
|
||||
);
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
GstCaps are refcounted with gst_caps_ref() and gst_caps_unref().
|
||||
</para>
|
||||
<para>
|
||||
GstCaps can be chained with the gst_caps_append(), gst_caps_prepend() and
|
||||
gst_caps_chain() functions. Use gst_caps_get_by_name() to get a named caps
|
||||
structure from a chained list.
|
||||
</para>
|
||||
<para>
|
||||
To get the properties of a caps structure the functions
|
||||
gst_caps_get_boolean(), gst_caps_get_fourcc_int(), gst_caps_get_int(),
|
||||
gst_caps_get_string(), gst_caps_get_float(), which all take a property name as an argument.
|
||||
</para>
|
||||
<para>
|
||||
The properties of the caps structure can be modified with gst_caps_set, which
|
||||
takes a list of key value pairs in the #GstProps syntax as shown by this example:
|
||||
|
||||
<programlisting>
|
||||
GstCaps *caps;
|
||||
....
|
||||
|
||||
gst_caps_set (caps, "format", GST_PROPS_STRING ("int"), NULL);
|
||||
gst_caps_set (caps, "channels", GST_PROPS_INT (20), NULL);
|
||||
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
before modifying a GstCaps, it is a good idea to make a copy if it first with
|
||||
gst_caps_copy_on_write(). This will copy the GstCaps if the refcount is >1.
|
||||
</para>
|
||||
<para>
|
||||
If you need a unique instance of a GstCaps you can use the convenient
|
||||
GST_CAPS_FACTORY() macro as shown below.
|
||||
<programlisting>
|
||||
GST_CAPS_FACTORY (my_caps,
|
||||
GST_CAPS_NEW (
|
||||
"caps1",
|
||||
"audio/raw",
|
||||
"format", GST_PROPS_STRING ("float"),
|
||||
"channels", GST_PROPS_INT (5)
|
||||
),
|
||||
GST_CAPS_NEW (
|
||||
"caps2",
|
||||
"audio/raw",
|
||||
"format", GST_PROPS_STRING ("int"),
|
||||
"channels", GST_PROPS_INT (5)
|
||||
)
|
||||
)
|
||||
|
||||
void
|
||||
some_function (void)
|
||||
{
|
||||
GstCaps *caps = GST_CAPS_GET (my_caps);
|
||||
|
||||
...
|
||||
}
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstProps, #GstPad
|
||||
</para>
|
||||
|
||||
<!-- ##### MACRO GST_CAPS_LOCK ##### -->
|
||||
<para>
|
||||
Lock the caps structure
|
||||
</para>
|
||||
|
||||
@caps: The caps structure to lock
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_CAPS_TRYLOCK ##### -->
|
||||
<para>
|
||||
Try to lock the caps structure
|
||||
</para>
|
||||
|
||||
@caps: The caps structure to try to lock
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_CAPS_UNLOCK ##### -->
|
||||
<para>
|
||||
Unlock the caps structure
|
||||
</para>
|
||||
|
||||
@caps: The caps structure to unlock
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_CAPS_NEW ##### -->
|
||||
<para>
|
||||
A convenience macro to create a new GstCaps structure.
|
||||
</para>
|
||||
|
||||
@name: the name of the caps structure
|
||||
@type: the mime type of the caps structure
|
||||
@a...: the properties of this caps stucture.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_CAPS_FACTORY ##### -->
|
||||
<para>
|
||||
A convenience macro to create a GstCaps factory.
|
||||
</para>
|
||||
|
||||
@factoryname: the name of the factory
|
||||
@a...: the caps to create with this factory, usualy specified
|
||||
with GST_CAPS_NEW()
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_CAPS_GET ##### -->
|
||||
<para>
|
||||
A convenience macro to get a GstCaps from the given capsfactory.
|
||||
</para>
|
||||
|
||||
@fact: the factory to use.
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstCaps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name: the name of the capability, for the application
|
||||
@id: the typeid of the capability
|
||||
@refcount: a refcounter for this caps structure
|
||||
@lock: the lock for this caps structure
|
||||
@properties: the properties of the capability
|
||||
@next: a pointer to the next caps.
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@mime:
|
||||
@props:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_destroy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_ref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_unref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_copy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_copy_on_write ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_chain ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_append ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@capstoadd:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_prepend ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@capstoadd:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_set_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_set_type_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@type_id:
|
||||
<!-- # Unused Parameters # -->
|
||||
@Param2:
|
||||
@typeid:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_get_type_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_set_mime ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@mime:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_get_mime ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_set_props ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@props:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_get_props ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_check_compatibility ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@fromcaps:
|
||||
@tocaps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_caps_set ##### -->
|
||||
<para>
|
||||
Set a property of a caps structure.
|
||||
</para>
|
||||
|
||||
@caps: the caps structure to modify
|
||||
@name: the name of the property to change
|
||||
@args...: the new value of the property
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_caps_get_boolean ##### -->
|
||||
<para>
|
||||
Get the value of the named property as a boolean.
|
||||
</para>
|
||||
|
||||
@caps: the caps to query
|
||||
@name: the name of the property to get
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_get_by_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_caps_get_fourcc_int ##### -->
|
||||
<para>
|
||||
Get the value of the named property as a fourcc.
|
||||
</para>
|
||||
|
||||
@caps: the caps to query
|
||||
@name: the name of the property to get
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_caps_get_int ##### -->
|
||||
<para>
|
||||
Get the value of the named property as an int.
|
||||
</para>
|
||||
|
||||
@caps: the caps to query
|
||||
@name: the name of the property to get
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_caps_get_string ##### -->
|
||||
<para>
|
||||
Get the value of the named property as a string.
|
||||
</para>
|
||||
|
||||
@caps: the caps to query
|
||||
@name: the name of the property to get
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_caps_get_float ##### -->
|
||||
<para>
|
||||
Get the value of the named property as a float.
|
||||
</para>
|
||||
|
||||
@caps: the caps to query
|
||||
@name: the name of the property to get
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_save_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@caps:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_caps_load_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,118 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstClock
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Clocking and synchronisation.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstClock provides an easy way to synchonize against a global clock.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### TYPEDEF GstClockTime ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### TYPEDEF GstClockTimeDiff ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_CLOCK_DIFF ##### -->
|
||||
<para>
|
||||
Calculate the difference between to timestamps. This does not create
|
||||
and absolute difference so the result might be negative if the first
|
||||
timestamp is less than the second timestamp.
|
||||
</para>
|
||||
|
||||
@s: first timestamp
|
||||
@e: second timestamp
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstClock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@start_time:
|
||||
@current_time:
|
||||
@adjust:
|
||||
@locking:
|
||||
@sinkobjects:
|
||||
@num:
|
||||
@num_locked:
|
||||
@sinkmutex:
|
||||
@lock:
|
||||
|
||||
<!-- ##### FUNCTION gst_clock_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_clock_get_system ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_clock_register ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@clock:
|
||||
@obj:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_clock_set ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@clock:
|
||||
@time:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_clock_reset ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@clock:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_clock_wait ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@clock:
|
||||
@time:
|
||||
@obj:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_clock_current_diff ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@clock:
|
||||
@time:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstCpu
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
Request the features of the CPU.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This module can be used when developing plugins. It is
|
||||
typically used to enable special optimisations based on the
|
||||
features of the CPU.
|
||||
</para>
|
||||
<para>
|
||||
You'll get a bitmask of flags with gst_cpu_get_flags().
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstCPUFlags ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_CPU_FLAG_MMX:
|
||||
@GST_CPU_FLAG_SSE:
|
||||
@GST_CPU_FLAG_MMXEXT:
|
||||
@GST_CPU_FLAG_3DNOW:
|
||||
|
||||
<!-- ##### FUNCTION gst_cpu_get_flags ##### -->
|
||||
<para>
|
||||
Request a set of bits specifiying the features of the CPU.
|
||||
</para>
|
||||
|
||||
@Returns: the features of the CPU
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstData
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Common structure for GstBuffer and GstEvent
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This structure provides a common base for #GstBuffer and #GstEvent. It is the
|
||||
main data type that is passed along in a pipeline.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstBuffer, #GstEvent
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstData ##### -->
|
||||
<para>
|
||||
The base structure
|
||||
</para>
|
||||
|
||||
@type: The type of this data.
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstDiskSink
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Write to a file
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The disksink write to a file. The filename can be given as an argument.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstFdSink
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstDiskSinkFlags ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_DISKSINK_OPEN:
|
||||
@GST_DISKSINK_FLAG_LAST:
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstDiskSrc
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Asynchronous read from a file (disksrc)
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Asynchonously read buffers from a file.
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstDiskSrcFlags ##### -->
|
||||
<para>
|
||||
<informaltable pgwide=1 frame="none" role="enum">
|
||||
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>GST_DISKSRC_OPEN</entry>
|
||||
<entry>the disksrc is open for reading</entry>
|
||||
</row>
|
||||
|
||||
</tbody></tgroup></informaltable>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_DISKSRC_OPEN:
|
||||
@GST_DISKSRC_FLAG_LAST:
|
||||
|
||||
<!-- ##### ARG GstDiskSrc:location ##### -->
|
||||
<para>
|
||||
Specify the location of the file to read.
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstDiskSrc:bytesperread ##### -->
|
||||
<para>
|
||||
Specify how many bytes to read at a time.
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstDiskSrc:offset ##### -->
|
||||
<para>
|
||||
Get/set the current offset in the file.
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstDiskSrc:filesize ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,602 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstElement
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Base class for all pipeline elements
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstElement is the base class needed to construct an element that can be
|
||||
used in a GST pipeline. As such, it is not a functional entity, and
|
||||
cannot do anything when placed in a pipeline.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
All GstElements have a list containing the #GstPad structure for all their
|
||||
inputs and outputs. These can be added with gst_element_add_pad() or
|
||||
gst_element_add_ghost_pad(), and retrieved by name with
|
||||
gst_element_get_pad(), or in a list form by gst_element_get_pad_list().
|
||||
</para>
|
||||
|
||||
<para>
|
||||
gst_element_connect() is a convenience function provided to make it
|
||||
simpler to connect pads of two elements together.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstElementFactory
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstElementState ##### -->
|
||||
<para>
|
||||
This enum defines the standard states an element may be in. You will normally
|
||||
use gst_element_set_state() to change the state of an element.
|
||||
|
||||
</para>
|
||||
|
||||
@GST_STATE_VOID_PENDING:
|
||||
@GST_STATE_NULL: Reset the state of an element.
|
||||
@GST_STATE_READY: will make the element ready to start processing data. some
|
||||
elements might have a non trivial way to initialize themselves.
|
||||
@GST_STATE_PAUSED: means there really is data flowing temporary stops the data flow.
|
||||
@GST_STATE_PLAYING: means there really is data flowing through the graph.
|
||||
|
||||
<!-- ##### ENUM GstElementStateReturn ##### -->
|
||||
<para>
|
||||
This enum defines the standard return values that an element
|
||||
can return after a state change.
|
||||
|
||||
</para>
|
||||
|
||||
@GST_STATE_FAILURE: the element could not perform the state change
|
||||
@GST_STATE_SUCCESS: the element successfully changed its state
|
||||
@GST_STATE_ASYNC: the element will asynchronously change its state as soon as possible
|
||||
|
||||
<!-- ##### MACRO GST_NUM_STATES ##### -->
|
||||
<para>
|
||||
The maximun number of states.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE ##### -->
|
||||
<para>
|
||||
This macro returns the current state of the element.
|
||||
</para>
|
||||
|
||||
@obj: Element to return state for.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_PENDING ##### -->
|
||||
<para>
|
||||
This macro returns the currently pending state of the element.
|
||||
</para>
|
||||
|
||||
@obj: Element to return the pending state for.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
|
||||
<para>
|
||||
Returns the state transition this object is going through.
|
||||
</para>
|
||||
|
||||
@obj: the Element to return the state transition for
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
|
||||
<para>
|
||||
The Element is going from the NULL state to the READY state.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
|
||||
<para>
|
||||
The Element is going from the READY state to the PAUSED state.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
|
||||
<para>
|
||||
The Element is going from the PAUSED state to the READY state.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
|
||||
<para>
|
||||
The Element is going from the PLAYING state to the PAUSED state.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
|
||||
<para>
|
||||
The Element is going from the PAUSED state to the PLAYING state.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
|
||||
<para>
|
||||
The Element is going from the READY state to the NULL state.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### ENUM GstElementFlags ##### -->
|
||||
<para>
|
||||
This enum defines the standard flags that an element may have.
|
||||
</para>
|
||||
|
||||
@GST_ELEMENT_COMPLEX:
|
||||
@GST_ELEMENT_DECOUPLED:
|
||||
@GST_ELEMENT_THREAD_SUGGESTED:
|
||||
@GST_ELEMENT_NO_SEEK:
|
||||
@GST_ELEMENT_INFINITE_LOOP:
|
||||
@GST_ELEMENT_SCHEDULER_PRIVATE1:
|
||||
@GST_ELEMENT_SCHEDULER_PRIVATE2:
|
||||
@GST_ELEMENT_NEW_LOOPFUNC:
|
||||
@GST_ELEMENT_EVENT_AWARE:
|
||||
@GST_ELEMENT_FLAG_LAST:
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
|
||||
<para>
|
||||
Queries whether the Element should be placed in a thread.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### -->
|
||||
<para>
|
||||
Queries if the Element is decoupled.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
|
||||
<para>
|
||||
Query wether this element is in the End Of Stream state.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
|
||||
<para>
|
||||
Query wether this element can handle events.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
|
||||
<para>
|
||||
Get the parent object of this element.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
|
||||
<para>
|
||||
Get the name of this element.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
|
||||
<para>
|
||||
Get the pads of this elements.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
|
||||
<para>
|
||||
Get the scheduler of this element.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
|
||||
<para>
|
||||
Get the manager of this element.
|
||||
</para>
|
||||
|
||||
@obj: The element to query
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstElement ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
|
||||
<para>
|
||||
This function type is used to specify a loop function for the element. It
|
||||
is passed the element in question, and is expect to return only in error
|
||||
circumstances.
|
||||
</para>
|
||||
|
||||
@element: The element in question.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_class_add_padtemplate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@klass:
|
||||
@templ:
|
||||
<!-- # Unused Parameters # -->
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_element_destroy ##### -->
|
||||
<para>
|
||||
Destroy the element. This is potentially dangerous, use gst_object_unref
|
||||
instead.
|
||||
</para>
|
||||
|
||||
@element: the element to destroy
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@loop:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_set_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_sched ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_set_sched ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@sched:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_set_parent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@parent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_parent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_add_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@pad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_remove_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@pad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@name:
|
||||
@Returns: GList of pads
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_padtemplate_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_padtemplate_by_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@pad:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_remove_ghost_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@pad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_request_compatible_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@templ:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_request_pad_by_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_connect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@srcpadname:
|
||||
@dest:
|
||||
@destpadname:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_disconnect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@srcpadname:
|
||||
@dest:
|
||||
@destpadname:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_set_state ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@state:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_state ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@elem:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_statename ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@state:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_info ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@info:
|
||||
@Varargs:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_error ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@error:
|
||||
@Varargs:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_get_factory ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_set_eos ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_restore_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@self:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_install_std_props ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@klass:
|
||||
@first_name:
|
||||
@Varargs:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_send_event ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_interrupt ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_element_yield ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GstElement::state-change ##### -->
|
||||
<para>
|
||||
Is trigered whenever the state of an element changes
|
||||
</para>
|
||||
|
||||
@gstelement: the object which received the signal.
|
||||
@arg1: the new state of the object
|
||||
@arg2:
|
||||
|
||||
<!-- ##### SIGNAL GstElement::new-pad ##### -->
|
||||
<para>
|
||||
Is trigered whenever a new pad is added to an element
|
||||
</para>
|
||||
|
||||
@gstelement: the object which received the signal.
|
||||
@arg1: the new pad that was added
|
||||
|
||||
<!-- ##### SIGNAL GstElement::pad-removed ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstelement: the object which received the signal.
|
||||
@arg1: The pad that was removed.
|
||||
|
||||
<!-- ##### SIGNAL GstElement::error ##### -->
|
||||
<para>
|
||||
Is trigered whenever an error occured
|
||||
|
||||
</para>
|
||||
|
||||
@gstelement: the object which received the signal.
|
||||
@arg1: the error message
|
||||
|
||||
<!-- ##### SIGNAL GstElement::event ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstelement: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
<!-- ##### SIGNAL GstElement::eos ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstelement: the object which received the signal.
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstElementFactory
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Create GstElements from a factory
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstElementFactory is used to create instances of elements. A GstElementfactory
|
||||
can be added to a #GstPlugin as it is also a #GstPluginFeature.
|
||||
</para>
|
||||
<para>
|
||||
Use gst_elementfactory_new() to create a new factory which can be added to a plugin
|
||||
with gst_plugin_add_feature().
|
||||
</para>
|
||||
<para>
|
||||
gst_elementfactory_get_list() is used to get a list of all available factories in
|
||||
the plugin repository.
|
||||
</para>
|
||||
<para>
|
||||
gst_elementfactory_add_padtemplate() is used to add a padtemplate to the factory.
|
||||
This function will enable the application to query for elementfactories that handle
|
||||
a specific media type.
|
||||
</para>
|
||||
<para>
|
||||
Use the gst_elementfactory_find() and gst_elementfactory_create() functions
|
||||
to create element instances or use gst_elementfactory_make() as a convenient
|
||||
shortcut.
|
||||
</para>
|
||||
<para>
|
||||
The following code example shows you how to create a GstDiskSrc element.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<programlisting role="C">
|
||||
#include <gst/gst.h>
|
||||
|
||||
GstElement *src;
|
||||
GstElementFactory *srcfactory;
|
||||
|
||||
gst_init(&argc,&argv);
|
||||
|
||||
srcfactory = gst_elementfactory_find("filesrc");
|
||||
g_return_if_fail(srcfactory != NULL);
|
||||
|
||||
src = gst_elementfactory_create(srcfactory,"src");
|
||||
g_return_if_fail(src != NULL);
|
||||
...
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstElement, #GstPlugin, #GstPluginFeature, #GstPadTemplate.
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstElementDetails ##### -->
|
||||
<para>
|
||||
This struct is used to define public information about the element. It
|
||||
describes the element, mostly for the benefit of editors.
|
||||
</para>
|
||||
|
||||
@longname:
|
||||
@klass:
|
||||
@description:
|
||||
@version:
|
||||
@author:
|
||||
@copyright:
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@type:
|
||||
@details:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_find ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_get_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_add_padtemplate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@elementfactory:
|
||||
@templ:
|
||||
<!-- # Unused Parameters # -->
|
||||
@temp:
|
||||
@pad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_can_src_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_can_sink_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_create ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_elementfactory_make ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factoryname:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,163 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstEvent
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Event definitions.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The event classes are used to construct and query events.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Events are usually created with gst_event_new() which takes the event type as an argument.
|
||||
properties specific to the event can be set afterwards with the provided macros.
|
||||
The event is freed with gst_event_free().
|
||||
</para>
|
||||
<para>
|
||||
gst_event_new_seek() is a usually used to create a seek event and it takes the
|
||||
needed parameters for a seek event.
|
||||
</para>
|
||||
<para>
|
||||
gst_event_new_flush() creates a new flush event.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstPad
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstEventType ##### -->
|
||||
<para>
|
||||
The different major types of events.
|
||||
</para>
|
||||
|
||||
@GST_EVENT_UNKNOWN: unknown event.
|
||||
@GST_EVENT_EOS: an end-of-stream event.
|
||||
@GST_EVENT_FLUSH: a flush event.
|
||||
@GST_EVENT_EMPTY: an empty event.
|
||||
@GST_EVENT_SEEK: a seek event.
|
||||
@GST_EVENT_DISCONTINUOUS: a discontinuous event to indicate the stream has a discontinuity.
|
||||
@GST_EVENT_INFO: an informational event
|
||||
@GST_EVENT_ERROR: an error event
|
||||
|
||||
<!-- ##### MACRO GST_EVENT_TYPE ##### -->
|
||||
<para>
|
||||
Get the event type.
|
||||
</para>
|
||||
|
||||
@event: The event to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_EVENT_SRC ##### -->
|
||||
<para>
|
||||
The source object that generated this event
|
||||
</para>
|
||||
|
||||
@event: The event to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_EVENT_TIMESTAMP ##### -->
|
||||
<para>
|
||||
Get the timestamp of the event.
|
||||
</para>
|
||||
|
||||
@event: The event to query.
|
||||
|
||||
|
||||
<!-- ##### ENUM GstSeekType ##### -->
|
||||
<para>
|
||||
The different types of seek events.
|
||||
</para>
|
||||
|
||||
@GST_SEEK_ANY: the seek is performed anyway.
|
||||
@GST_SEEK_TIMEOFFSET: this is a seek to specific timeoffset
|
||||
@GST_SEEK_BYTEOFFSET: this is a seek to specific byteoffset
|
||||
|
||||
<!-- ##### MACRO GST_EVENT_SEEK_TYPE ##### -->
|
||||
<para>
|
||||
Get the seektype of the GST_EVENT_SEEK.
|
||||
</para>
|
||||
|
||||
@event: The event to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_EVENT_SEEK_OFFSET ##### -->
|
||||
<para>
|
||||
Get the offset of the seek event.
|
||||
</para>
|
||||
|
||||
@event: The event to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_EVENT_SEEK_FLUSH ##### -->
|
||||
<para>
|
||||
Qeury wether the seek event also needs a flush.
|
||||
</para>
|
||||
|
||||
@event: The event to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_EVENT_INFO_PROPS ##### -->
|
||||
<para>
|
||||
The properties of the info event
|
||||
</para>
|
||||
|
||||
@event: The event to query
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstEvent ##### -->
|
||||
<para>
|
||||
The event data structure.
|
||||
</para>
|
||||
|
||||
@data: The parent data type.
|
||||
@type: The event type.
|
||||
@timestamp: The event timestamp.
|
||||
@src:
|
||||
|
||||
<!-- ##### FUNCTION gst_event_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@type:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_event_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_event_new_seek ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@type:
|
||||
@offset:
|
||||
@flush:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_event_new_flush ##### -->
|
||||
<para>
|
||||
Create a new flush event.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_event_new_info ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@firstname:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstExtraTypes
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### MACRO GST_TYPE_FILENAME ##### -->
|
||||
<para>
|
||||
A type that can be used to indicate a filename.
|
||||
</para>
|
||||
|
||||
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstFakeSink
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Sources a buffer without doing anything with it. (fakesink)
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Take a buffer and gst_buffer_unref() it. This element does nothing
|
||||
with the buffer. (fakesink)
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SIGNAL GstFakeSink::handoff ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstfakesink: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
<!-- ##### ARG GstFakeSink:num-sinks ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSink:silent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSink:dump ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstFakeSrc
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Generate empty buffers. (fakesrc)
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The <classname>GstFakeSrc</classname> generates empty buffers. (fakesrc)
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SIGNAL GstFakeSrc::handoff ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstfakesrc: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:num-sources ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:loop-based ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:output ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:sizetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:sizemin ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:sizemax ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:parentsize ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:filltype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:pattern ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:num-buffers ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:eos ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:silent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFakeSrc:dump ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstFdSink
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Write data to a file descriptor. (fdsink)
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Write data to a file descriptor.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFdSink:fd ##### -->
|
||||
<para>
|
||||
The filedescriptor to write to.
|
||||
</para>
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstFdSrc
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Read buffers from a file descriptor. (fdsrc)
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Read buffers from a file descriptor.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFdSrc:location ##### -->
|
||||
<para>
|
||||
The filedescriptor to read from. Pass the argument as a char* (???)
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFdSrc:bytesperread ##### -->
|
||||
<para>
|
||||
The number of bytes per read.
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFdSrc:offset ##### -->
|
||||
<para>
|
||||
Get the current offset in the file.
|
||||
</para>
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstFileSrc
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFileSrc:fd ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFileSrc:offset ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFileSrc:filesize ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFileSrc:location ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFileSrc:blocksize ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFileSrc:mmapsize ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstFileSrc:touch ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstHttpSrc
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Reads data from a URL. (httpsrc)
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Reads data from a URL.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstIdentity
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Pass data without modification. (identity)
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Pass data without modification.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SIGNAL GstIdentity::handoff ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstidentity: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
<!-- ##### ARG GstIdentity:loop-based ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstIdentity:sleep-time ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstIdentity:duplicate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstIdentity:error-after ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstIdentity:drop-probability ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstIdentity:silent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,324 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstInfo
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
info/debugging/error handling
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
gstinfo.c contains a number of debuggins subsystems.
|
||||
</para>
|
||||
|
||||
<para>The INFO subsystem is used to provide informative printouts to
|
||||
application and plugin developers. These messages can be enabled and
|
||||
disabled via a category system, which is a bitmask enabling you to turn
|
||||
on and off any subset of categories.</para>
|
||||
|
||||
<para>The DEBUG subsystem is similar, but is intended for core developers
|
||||
and those writing more complex pipelines or filters. It uses the same
|
||||
category system, but must be enabled at configure time else it's not
|
||||
compiled into the library. autogen.sh automatically enables the DEBUG
|
||||
subsystem.
|
||||
</para>
|
||||
|
||||
<para>The ERROR subsystem doesn't use categories, but will print out a
|
||||
more verbose message, and attempt to print out a stack trace of the error
|
||||
before aborting the application.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gst_get_category_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_info_get_categories ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_info_set_categories ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@categories:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_info_enable_category ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_info_disable_category ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_default_info_handler ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
@incore:
|
||||
@file:
|
||||
@function:
|
||||
@line:
|
||||
@debug_string:
|
||||
@element:
|
||||
@string:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_INFO_ENABLED ##### -->
|
||||
<para>
|
||||
When defined, INFO printouts are compiled into the library.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_INFO ##### -->
|
||||
<para>
|
||||
Print out any information usable at run-time by application developers.
|
||||
</para>
|
||||
|
||||
@cat: the GST_CAT_... category for the information
|
||||
@format: printf-style format string
|
||||
@args...: printf arguments
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_INFO_ELEMENT ##### -->
|
||||
<para>
|
||||
Print out information like #GST_INFO, but with an element pointer to clarify things.
|
||||
</para>
|
||||
|
||||
@cat: the GST_CAT_... category for the information
|
||||
@element: pointer to the #GstElement in question
|
||||
@format: printf-style format string
|
||||
@args...: printf arguments
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_debug_get_categories ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_debug_set_categories ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@categories:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_debug_enable_category ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_debug_disable_category ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_ENTER ##### -->
|
||||
<para>
|
||||
Called at the beginning of a function, it simply prints out a DEBUG string of "entering"
|
||||
in addition to the given string.
|
||||
</para>
|
||||
|
||||
@format: printf-style format string
|
||||
@args...: printf arguments
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_LEAVE ##### -->
|
||||
<para>
|
||||
Called at the end of a function, it simply prints out a DEBUG string of "leaving"
|
||||
in addition to the given string.
|
||||
</para>
|
||||
|
||||
@format: printf-stype format string
|
||||
@args...: printf arguments
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG ##### -->
|
||||
<para>
|
||||
Print out debugging information.
|
||||
</para>
|
||||
|
||||
@cat: the GST_CAT_... the debug falls within
|
||||
@format: printf-style format string
|
||||
@args...: printf arguments
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_FUNCPTR ##### -->
|
||||
<para>
|
||||
Add a function to the global function pointer table used for debugging.
|
||||
</para>
|
||||
|
||||
@ptr: The pointer to add to the function table.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_FUNCPTR_NAME ##### -->
|
||||
<para>
|
||||
Get the name of the given function pointer by looking up its name in the global
|
||||
function table.
|
||||
</para>
|
||||
|
||||
@ptr: The pointer to look up.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_PAD_NAME ##### -->
|
||||
<para>
|
||||
Print out debugging statements for a pad.
|
||||
</para>
|
||||
|
||||
@pad: The pad to debug.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_THREAD_ARGS ##### -->
|
||||
<para>
|
||||
Part of the colorized debug functions for threads
|
||||
</para>
|
||||
|
||||
@id: The thread id.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_THREAD_FORMAT ##### -->
|
||||
<para>
|
||||
Part of the colorized debug functions for threads
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_DEBUG_ELEMENT ##### -->
|
||||
<para>
|
||||
Print out usefull debugging info of an element.
|
||||
</para>
|
||||
|
||||
@cat: The category of this debugging statement.
|
||||
@element: The element to debug.
|
||||
@format: A printf-like string.
|
||||
@args...: The argument for the printf-like string.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ERROR ##### -->
|
||||
<para>
|
||||
Print out an error condition and abort the application.
|
||||
</para>
|
||||
|
||||
@element: the #GstElement in question
|
||||
@format: printf-style format string
|
||||
@args...: printf arguments
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_ERROR_OBJECT ##### -->
|
||||
<para>
|
||||
Print out an error condition and abort the application.
|
||||
</para>
|
||||
|
||||
@element: the #GstElement in question
|
||||
@object: pointer to a 'contributing' object
|
||||
@format: printf-style format string
|
||||
@args...: printf arguments
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstDebugHandler ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
@core:
|
||||
@file:
|
||||
@function:
|
||||
@line:
|
||||
@debug_string:
|
||||
@element:
|
||||
@string:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_default_debug_handler ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
@incore:
|
||||
@file:
|
||||
@function:
|
||||
@line:
|
||||
@debug_string:
|
||||
@element:
|
||||
@string:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_default_error_handler ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@file:
|
||||
@function:
|
||||
@line:
|
||||
@debug_string:
|
||||
@element:
|
||||
@object:
|
||||
@string:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstInfoHandler ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@category:
|
||||
@incore:
|
||||
@file:
|
||||
@function:
|
||||
@line:
|
||||
@debug_string:
|
||||
@element:
|
||||
@string:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstErrorHandler ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@file:
|
||||
@function:
|
||||
@line:
|
||||
@debug_string:
|
||||
@element:
|
||||
@object:
|
||||
@string:
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
gstlog
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstMultiDiskSrc
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstMultiDiskSrcFlags ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_MULTIDISKSRC_OPEN:
|
||||
@GST_MULTIDISKSRC_FLAG_LAST:
|
||||
|
|
@ -1,303 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstObject
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Basis for the GST object hierarchy.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstObject provides a root for the object hierarchy tree filed in by the
|
||||
GST library. It is currently a thin wrapper on top of
|
||||
<classname>GObject</classname> but it can be compiled against GTK+ with
|
||||
a shim provided by the GStreamer library. It is an abstract class that is not
|
||||
very usable on its own.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
GstObject gives us basic refcounting, parenting functionality and locking.
|
||||
</para>
|
||||
<para>
|
||||
gst_object_set_name() and gst_object_get_name() are used to set/get the name of the
|
||||
object.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstObjectFlags ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_DESTROYED:
|
||||
@GST_FLOATING:
|
||||
@GST_OBJECT_FLAG_LAST:
|
||||
|
||||
<!-- ##### STRUCT GstObject ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_FLAGS ##### -->
|
||||
<para>
|
||||
This macro returns the entire set of flags for the object.
|
||||
</para>
|
||||
|
||||
@obj: Object to return flags for.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_FLAG_IS_SET ##### -->
|
||||
<para>
|
||||
This macro checks to see if the given flag is set.
|
||||
</para>
|
||||
|
||||
@obj: GstSrc to check for flag in.
|
||||
@flag: Flag to check for, must be a single bit in guint32.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_FLAG_SET ##### -->
|
||||
<para>
|
||||
This macro sets the given bits.
|
||||
</para>
|
||||
|
||||
@obj: Object to set flag in.
|
||||
@flag: Flag to set, can by any number of bits in guint32.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_FLAG_UNSET ##### -->
|
||||
<para>
|
||||
This macro usets the given bits.
|
||||
</para>
|
||||
|
||||
@obj: Object to unset flag in.
|
||||
@flag: Flag to set, must be a single bit in guint32.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_LOCK ##### -->
|
||||
<para>
|
||||
This macro will obtain a lock on the object, making serialization
|
||||
possible.
|
||||
</para>
|
||||
|
||||
@obj: Object to lock.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_TRYLOCK ##### -->
|
||||
<para>
|
||||
This macro will try to obtain a lock on the object, but will return with
|
||||
FALSE if it can't get it immediately.
|
||||
</para>
|
||||
|
||||
@obj: Object to try to get a lock on.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_UNLOCK ##### -->
|
||||
<para>
|
||||
This macro releases a lock on the object.
|
||||
</para>
|
||||
|
||||
@obj: Object to unlock.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_GET_LOCK ##### -->
|
||||
<para>
|
||||
Acquire a reference to the mutex of this object.
|
||||
</para>
|
||||
|
||||
@obj: Object to get the mutex of.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_OBJECT_PARENT ##### -->
|
||||
<para>
|
||||
Get the parent of this object
|
||||
</para>
|
||||
|
||||
@obj: Object to get the parent of.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_OBJECT_NAME ##### -->
|
||||
<para>
|
||||
Get the name of this object
|
||||
</para>
|
||||
|
||||
@obj: Object to get the name of.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_OBJECT_FLOATING ##### -->
|
||||
<para>
|
||||
Check if the object is floating.
|
||||
</para>
|
||||
|
||||
@obj: The Object to check
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_OBJECT_DESTROYED ##### -->
|
||||
<para>
|
||||
Check if the object has been destroyed.
|
||||
</para>
|
||||
|
||||
@obj: The Object to check
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_check_uniqueness ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@list:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_set_parent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@parent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_get_parent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_set_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_unparent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_ref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object: the object
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_unref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object: the object
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_sink ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object: the object
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_destroy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object: the object
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_save_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_restore_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@parent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_object_get_path_string ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_class_signal_emit_by_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@name:
|
||||
@self:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_class_signal_connect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@klass:
|
||||
@name:
|
||||
@func:
|
||||
@func_data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GstObject::parent-set ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstobject: the object which received the signal.
|
||||
@arg1: the new parent
|
||||
|
||||
<!-- ##### SIGNAL GstObject::object-saved ##### -->
|
||||
<para>
|
||||
Is trigered whenever a new object is saved to XML. You can connect to
|
||||
this signal to insert custom XML tags into the core XML.
|
||||
</para>
|
||||
|
||||
@gstobject: the object which received the signal.
|
||||
@arg1: the xmlNodePtr of the parent node
|
||||
|
||||
<!-- ##### ARG GstObject:name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,896 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstPad
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
The connection between Elements
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
#GstElement are connected to each other via "pads", which are extremely light-weight generic
|
||||
connections. After two pad are retrieved from an element with gst_element_get_pad(), the pads
|
||||
can be connected with gst_pad_connect().
|
||||
</para>
|
||||
<para>
|
||||
Pads are typically created from a #GstPadTemplate with gst_pad_new_from_template().
|
||||
</para>
|
||||
<para>
|
||||
Pad have #GstCaps attached to it to describe the media type they
|
||||
are capable of dealing with. gst_pad_get_caps() and gst_pad_set_caps() are used to
|
||||
manipulate the caps of the pads.
|
||||
Pads created from a padtemplate cannot set capabilities that are incompatible with
|
||||
the padtemplates capabilities.
|
||||
</para>
|
||||
<para>
|
||||
Pads without padtemplates can be created with gst_pad_new() which takes a direction and
|
||||
a name as an argument.
|
||||
</para>
|
||||
<para>
|
||||
gst_pad_get_parent() will retrieve the #GstElement that owns the pad.
|
||||
</para>
|
||||
<para>
|
||||
GstElements creating a pad will typicilally use the various gst_pad_set_*_function() calls
|
||||
to register callbacks for various events on the pads.
|
||||
</para>
|
||||
<para>
|
||||
GstElements will use gst_pad_push() and gst_pad_pull() to push out or pull a buffer in. The
|
||||
gst_pad_pullregion() function can be used to request for a buffer with a specific offset (in
|
||||
time or in bytes). gst_pad_select() and gst_pad_selectv() are use by plugins to wait on a set
|
||||
of pads for a new #GstBuffer or #GstEvent.
|
||||
</para>
|
||||
<para>
|
||||
To send an event on a pad, use gst_pad_send_event().
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstPadTemplate, #GstElement, #GstEvent
|
||||
</para>
|
||||
|
||||
<!-- ##### MACRO GST_PAD_NAME ##### -->
|
||||
<para>
|
||||
Get the name of the pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_ELEMENT_PRIVATE ##### -->
|
||||
<para>
|
||||
Get the private data set by the element that owns the pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_PARENT ##### -->
|
||||
<para>
|
||||
Get the parent element of this pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_PADTEMPLATE ##### -->
|
||||
<para>
|
||||
Get the padtemplate that was used to create this pad. NULL if no padtemplate
|
||||
was used.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_REALIZE ##### -->
|
||||
<para>
|
||||
Return the real pad of this pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_DIRECTION ##### -->
|
||||
<para>
|
||||
Get the pad direction.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_CAPS ##### -->
|
||||
<para>
|
||||
Get the capabilities of a pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_PEER ##### -->
|
||||
<para>
|
||||
Get the peerpad of this pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_CONNECTED ##### -->
|
||||
<para>
|
||||
Is this pad connected.
|
||||
</para>
|
||||
|
||||
@pad: the pad to check
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PAD_CAN_PULL ##### -->
|
||||
<para>
|
||||
Can this pad be used to pull a buffer.
|
||||
</para>
|
||||
|
||||
@pad: the pad to check
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstPad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadChainFunction ##### -->
|
||||
<para>
|
||||
The function that will be called when chaining buffers.
|
||||
</para>
|
||||
|
||||
@pad: the pad that performed the chain
|
||||
@buf: the buffer that is chained
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadGetFunction ##### -->
|
||||
<para>
|
||||
The function that will be called when pulling a buffer.
|
||||
</para>
|
||||
|
||||
@pad: the pad to get a buffer from
|
||||
@Returns: a #GstBuffer
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadGetRegionFunction ##### -->
|
||||
<para>
|
||||
The function that will be called when pulling a region buffer.
|
||||
You can specify which buffer to get using an offset/length pair or
|
||||
a start/stop timecode pair.
|
||||
</para>
|
||||
|
||||
@pad: the pad to get a buffer from
|
||||
@type: the type of region to get (time or offset based)
|
||||
@offset: the offset of the region to get
|
||||
@len: the length of the region to get
|
||||
@Returns: a #GstBuffer
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadNewCapsFunction ##### -->
|
||||
<para>
|
||||
The function that will be called when the caps of the pad has
|
||||
changed.
|
||||
</para>
|
||||
|
||||
@pad: The pad that has its caps changed
|
||||
@caps: the new caps of the pad
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadBufferPoolFunction ##### -->
|
||||
<para>
|
||||
The function that will be called when a bufferpool is requested
|
||||
from this pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad with the bufferpool
|
||||
@Returns: the GstBufferPool associated with this pad.
|
||||
|
||||
|
||||
<!-- ##### ENUM GstPadNegotiateReturn ##### -->
|
||||
<para>
|
||||
The possible results from padnegotiation.
|
||||
</para>
|
||||
|
||||
@GST_PAD_NEGOTIATE_FAIL: The pads could not agree about the media type.
|
||||
@GST_PAD_NEGOTIATE_AGREE: The pads agreed about the media type.
|
||||
@GST_PAD_NEGOTIATE_TRY: The pad did not agree and suggests another media type.
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadNegotiateFunction ##### -->
|
||||
<para>
|
||||
The function that will be called when negotiating.
|
||||
</para>
|
||||
|
||||
@pad: The pad that is being negotiated
|
||||
@caps: The current caps that are being negotiated
|
||||
@data: A generic gpointer that can be used to store user_data
|
||||
@Returns: The result of the negotiation process
|
||||
|
||||
|
||||
<!-- ##### ENUM GstRegionType ##### -->
|
||||
<para>
|
||||
the region types for #gst_pad_pullregion.
|
||||
</para>
|
||||
|
||||
@GST_REGION_VOID:
|
||||
@GST_REGION_OFFSET_LEN: an offet/length pair
|
||||
@GST_REGION_TIME_LEN: a time start/length pair
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadPullRegionFunction ##### -->
|
||||
<para>
|
||||
The function that will be called when pulling a region buffer.
|
||||
You can specify which buffer to get using an offset/length pair or
|
||||
a start/stop timecode pair.
|
||||
</para>
|
||||
|
||||
@pad: the pad to get a buffer from
|
||||
@type: the type of region to get (time or offset based)
|
||||
@offset: the offset of the region to get
|
||||
@len: the length of the region to get
|
||||
@Returns: a #GstBuffer
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPadEventFunction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@event:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### ENUM GstPadDirection ##### -->
|
||||
<para>
|
||||
The direction this pad is.
|
||||
</para>
|
||||
|
||||
@GST_PAD_UNKNOWN: direction is unknown
|
||||
@GST_PAD_SRC: this is a source pad
|
||||
@GST_PAD_SINK: this is a sink pad
|
||||
|
||||
<!-- ##### ENUM GstPadFlags ##### -->
|
||||
<para>
|
||||
Flags for the pad.
|
||||
</para>
|
||||
|
||||
@GST_PAD_DISABLED: the pad is disabled
|
||||
@GST_PAD_EOS: the pad is in end of stream state
|
||||
@GST_PAD_FLAG_LAST: subclasses can use this number to enumerate their flags
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@direction:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_pad_destroy ##### -->
|
||||
<para>
|
||||
Destroy the pad.
|
||||
</para>
|
||||
|
||||
@pad: the pad to destroy
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_new_from_template ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@templ:
|
||||
@name:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@temp:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_direction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_chain_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@chain:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_get_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@get:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_getregion_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@getregion:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_negotiate_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@nego:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_newcaps_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@newcaps:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_bufferpool_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@bufpool:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@caps:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_check_compatibility ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@srcpad:
|
||||
@sinkpad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_element_private ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@priv:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_element_private ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_parent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@parent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_parent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_sched ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_sched ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@sched:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_real_parent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_add_ghost_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@ghostpad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_remove_ghost_pad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@ghostpad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_ghost_pad_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_peer ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_connect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@srcpad:
|
||||
@sinkpad:
|
||||
<!-- # Unused Parameters # -->
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_try_connect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@srcpad:
|
||||
@sinkpad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_disconnect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@srcpad:
|
||||
@sinkpad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_push ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@buf:
|
||||
<!-- # Unused Parameters # -->
|
||||
@buffer:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_pull ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_pullregion ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@type:
|
||||
@offset:
|
||||
@len:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@size:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_bufferpool ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_load_and_connect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@self:
|
||||
@parent:
|
||||
<!-- # Unused Parameters # -->
|
||||
@element:
|
||||
@elements:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_negotiate_proxy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@srcpad:
|
||||
@destpad:
|
||||
@caps:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@counter:
|
||||
@count:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_renegotiate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_padtemplate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_get_padtemplate_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_ghost_save_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@bin:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_peek ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_select ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@padlist:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_selectv ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_send_event ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@event:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_event_default ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pad_set_event_function ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstRealPad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@caps:
|
||||
@direction:
|
||||
@sched:
|
||||
@sched_private:
|
||||
@peer:
|
||||
@bufpen:
|
||||
@regiontype:
|
||||
@offset:
|
||||
@len:
|
||||
@chainfunc:
|
||||
@chainhandler:
|
||||
@getfunc:
|
||||
@gethandler:
|
||||
@eventfunc:
|
||||
@eventhandler:
|
||||
@getregionfunc:
|
||||
@pullregionfunc:
|
||||
@negotiatefunc:
|
||||
@newcapsfunc:
|
||||
@bufferpoolfunc:
|
||||
@ghostpads:
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_LEN ##### -->
|
||||
<para>
|
||||
Get the length of the region that is being pulled.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_OFFSET ##### -->
|
||||
<para>
|
||||
Get the offset of the region that is being pulled.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_SCHED ##### -->
|
||||
<para>
|
||||
Get the scheduler of this real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_REGIONTYPE ##### -->
|
||||
<para>
|
||||
Get the type of the region that is being pulled.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_DIRECTION ##### -->
|
||||
<para>
|
||||
Get the direction of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the realpad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_CAPS ##### -->
|
||||
<para>
|
||||
Get the caps of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_PEER ##### -->
|
||||
<para>
|
||||
Get the peer element of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_BUFPEN ##### -->
|
||||
<para>
|
||||
Get the bufpen of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_CHAINFUNC ##### -->
|
||||
<para>
|
||||
Get the chain function of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_GETFUNC ##### -->
|
||||
<para>
|
||||
Get get getfunction of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_GETREGIONFUNC ##### -->
|
||||
<para>
|
||||
Get the getregion function of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_PULLREGIONFUNC ##### -->
|
||||
<para>
|
||||
Get the pullregion function of the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_NEGOTIATEFUNC ##### -->
|
||||
<para>
|
||||
Get the negotiate function from the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_NEWCAPSFUNC ##### -->
|
||||
<para>
|
||||
Get the newcaps function from the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_BUFFERPOOLFUNC ##### -->
|
||||
<para>
|
||||
Get the bufferpoolfunction from the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_CHAINHANDLER ##### -->
|
||||
<para>
|
||||
Get the eventhandler function from the real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_EVENTFUNC ##### -->
|
||||
<para>
|
||||
Get the event function of this real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_EVENTHANDLER ##### -->
|
||||
<para>
|
||||
Get the eventhandler function of this real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_RPAD_GETHANDLER ##### -->
|
||||
<para>
|
||||
Get the gethandler function of this real pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_GPAD_REALPAD ##### -->
|
||||
<para>
|
||||
Get the real pad of this ghost pad.
|
||||
</para>
|
||||
|
||||
@pad: the real pad to query.
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstGhostPad ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pad:
|
||||
@realpad:
|
||||
|
||||
<!-- ##### FUNCTION gst_ghost_pad_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@pad:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstPadTemplate
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Describe the media type of a pad.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Padtemplates describe the possible media types a pad or an elementfactory can
|
||||
handle.
|
||||
</para>
|
||||
<para>
|
||||
Pad and PadTemplates have #GstCaps attached to it to describe the media type they
|
||||
are capable of dealing with. gst_padtemplate_get_caps() is used to get the
|
||||
caps of a padtemplate. It's not possible to modify the caps of a padtemplate after
|
||||
creation.
|
||||
</para>
|
||||
<para>
|
||||
Padtemplates can be created with gst_padtemplate_new() or with the convenient
|
||||
GST_PADTEMPLATE_FACTORY() macro. A padtemplate can be used to create a pad or
|
||||
to add to an elementfactory.
|
||||
</para>
|
||||
<para>
|
||||
The following code example shows the code to create a pad from a padtemplate.
|
||||
<programlisting>
|
||||
GST_PADTEMPLATE_FACTORY (my_template_factory,
|
||||
"sink", /* the name of the pad */
|
||||
GST_PAD_SINK, /* the direction of the pad */
|
||||
GST_PAD_ALWAYS, /* when this pad will be present */
|
||||
GST_CAPS_NEW ( /* the capabilities of the padtemplate */
|
||||
"my_caps",
|
||||
"audio/raw",
|
||||
"format", GST_PROPS_STRING ("int"),
|
||||
"channels", GST_PROPS_INT_RANGE (1, 6)
|
||||
)
|
||||
)
|
||||
|
||||
void
|
||||
my_method (void)
|
||||
{
|
||||
GstPad *pad;
|
||||
|
||||
pad = gst_pad_new_from_template (GST_PADTEMPLATE_GET (my_template_factory), "sink");
|
||||
...
|
||||
}
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
The following example shows you how to add the padtemplate to an elementfactory:
|
||||
<programlisting>
|
||||
gboolean
|
||||
my_factory_init (GstPlugin *plugin)
|
||||
{
|
||||
GstElementFactory *factory;
|
||||
|
||||
factory = gst_elementfactory_new ("my_factory", GST_TYPE_MYFACTORY, &gst_myfactory_details);
|
||||
g_return_val_if_fail (factory != NULL, FALSE);
|
||||
|
||||
gst_elementfactory_add_padtemplate (factory, GST_PADTEMPLATE_GET (my_template_factory));
|
||||
|
||||
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstPad, #GstElementFactory
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstPadPresence ##### -->
|
||||
<para>
|
||||
Indicates when this pad will become available.
|
||||
</para>
|
||||
|
||||
@GST_PAD_ALWAYS: the pad is always available
|
||||
@GST_PAD_SOMETIMES: the pad will become available depending on the media stream
|
||||
@GST_PAD_REQUEST: th pad is only available on request with
|
||||
gst_element_request_pad_by_name() or gst_element_request_compatible_pad().
|
||||
|
||||
<!-- ##### STRUCT GstPadTemplate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@name_template:
|
||||
@direction:
|
||||
@presence:
|
||||
@caps:
|
||||
|
||||
<!-- ##### MACRO GST_PADTEMPLATE_CAPS ##### -->
|
||||
<para>
|
||||
Get a handle to the padtemplate #GstCaps
|
||||
</para>
|
||||
|
||||
@templ: the template to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PADTEMPLATE_DIRECTION ##### -->
|
||||
<para>
|
||||
Get the direction of the padtemplate.
|
||||
</para>
|
||||
|
||||
@templ: the template to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PADTEMPLATE_NAME_TEMPLATE ##### -->
|
||||
<para>
|
||||
Get the nametemplate of the padtemplate.
|
||||
</para>
|
||||
|
||||
@templ: the template to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PADTEMPLATE_PRESENCE ##### -->
|
||||
<para>
|
||||
Get the presence of the padtemplate.
|
||||
</para>
|
||||
|
||||
@templ: the template to query
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PADTEMPLATE_NEW ##### -->
|
||||
<para>
|
||||
Create a new padtemplate.
|
||||
</para>
|
||||
|
||||
@padname: the nametemplate for the pads that will be created with this template
|
||||
@dir: the direction of the pads.
|
||||
@pres: the presence of the pads.
|
||||
@a...: the capabilities of this padtemplate usually created with GST_CAPS_NEW()
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PADTEMPLATE_FACTORY ##### -->
|
||||
<para>
|
||||
Create a factory for a padtemplate. This can be used if you only want one instance
|
||||
of the padtemplate. Use GST_PADTEMPLATE_GET() to get the unique padtemplate.
|
||||
</para>
|
||||
|
||||
@name: th name of the factory
|
||||
@padname: the nametemplate of the pads
|
||||
@dir: the direction of the pads.
|
||||
@pres: the presence of the pads.
|
||||
@a...: the capabilities of this padtemplate, usually created with GST_CAPS_NEW()
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PADTEMPLATE_GET ##### -->
|
||||
<para>
|
||||
Get the padtemplate of the factory created with GST_PADTEMPLATE_FACTORY()
|
||||
</para>
|
||||
|
||||
@fact: the factory name to get the padtemplate from.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_padtemplate_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name_template:
|
||||
@direction:
|
||||
@presence:
|
||||
@caps:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_padtemplate_load_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_padtemplate_save_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@templ:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_padtemplate_get_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@templ:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_padtemplate_get_caps_by_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@templ:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstParse
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Parses commandline syntax into a pipeline.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This method allows you to create a pipeline from a command
|
||||
line syntax description. The following example creates a simple
|
||||
mp3 player.
|
||||
<programlisting>
|
||||
GstElement *pipeline;
|
||||
|
||||
/* create a pipeline to hold our elements */
|
||||
pipeline = gst_pipeline_new ("launch");
|
||||
|
||||
/* build a pipeline in the pipeline */
|
||||
gst_parse_launch ("filesrc location=some.mp3 ! mad ! osssink", GST_BIN (pipeline));
|
||||
|
||||
/* play the thing */
|
||||
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
||||
|
||||
while (gst_bin_iterate (GST_BIN (pipeline)));
|
||||
|
||||
gst_element_set_state (pipeline, GST_STATE_NULL);
|
||||
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Elements are separated with a <option>!</option>, properties are set with
|
||||
<replaceable>property</replaceable>=<replaceable>value</replaceable>, specific pads
|
||||
of an element are selected by replacing the <option>!</option> with
|
||||
<replaceable>padname</replaceable><option>!</option>.
|
||||
</para>
|
||||
<para>
|
||||
Elements can be added to a bin by embracing them with <option>()</option>. Threads
|
||||
can be made with <option>{}</option>.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstParseErrors ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_PARSE_ERROR_SYNTAX:
|
||||
@GST_PARSE_ERROR_CREATING_ELEMENT:
|
||||
@GST_PARSE_ERROR_NOSUCH_ELEMENT:
|
||||
|
||||
<!-- ##### FUNCTION gst_parse_launch ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@cmdline:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstPipefilter
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
A wrapper around every stdin/stdout capable program
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
A GstPipefilter pipes data to an external program and creates
|
||||
buffers from its output.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstPipefilter:command ##### -->
|
||||
<para>
|
||||
Sets the command to be executed.
|
||||
</para>
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstPipeline
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Top-level bin with scheduling and pipeline management functionality.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
In almost all cases, you'll want to use a GstPipeline when creating a
|
||||
filter graph. The GstPipeline will manage all the scheduling issues,
|
||||
including threading, as well as provide simple interfaces to common
|
||||
functions, like 'Play'.
|
||||
</para>
|
||||
<para>
|
||||
gst_pipeline_new() is used to create a pipeline. when you are done with
|
||||
the pipeline, use gst_element_unref() to free its resources.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstBin
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstPipeline ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_pipeline_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO gst_pipeline_destroy ##### -->
|
||||
<para>
|
||||
Destroys the pipeline.
|
||||
</para>
|
||||
|
||||
@pipeline: #GstPipeline to destroy
|
||||
|
||||
|
|
@ -1,269 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstPlugin
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Dynamically loadable Elements
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GStreamer is extensible so <classname>GstElements</classname> can be loaded at runtime. A plugin
|
||||
system can provide one or more of the basic <application>GStreamer</application>
|
||||
#GstPluginFeature subclasses.
|
||||
</para>
|
||||
<para>
|
||||
A plugin should export a symbol plugin_desc that is a struct of type #GstPluginDesc.
|
||||
the plugin loader will check the version of the core library the plugin was linked against
|
||||
and will create a new #GstPlugin. It will then call the #GstPluginInitFunc function
|
||||
that was provided in the plugin_desc.
|
||||
</para>
|
||||
<para>
|
||||
Once you have a handle to a #GstPlugin, you can add any object that subclasses #GstPluginFeature.
|
||||
</para>
|
||||
<para>
|
||||
use gst_plugin_find(), gst_plugin_get_list() and gst_plugin_get_feature_list()
|
||||
to query the plugin repository.
|
||||
</para>
|
||||
<para>
|
||||
Usually plugins are always automaticlly loaded so you don't need to call gst_plugin_load() explicitly
|
||||
to bring it into memory. There are options to statically link plugins to an app or even
|
||||
use GStreamer without a plugin repository in which case gst_plugin_load() can be needed
|
||||
to bring the plugin into memory.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstPluginFeature, #GstType, #GstAutoplug, #GstElementFactory
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstPlugin ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@longname:
|
||||
@filename:
|
||||
@features:
|
||||
@numfeatures:
|
||||
@module:
|
||||
|
||||
<!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
|
||||
<para>
|
||||
A plugin should provide a pointer to a function of this type in the plugin_desc struct.
|
||||
It will be called by the loader at statup.
|
||||
</para>
|
||||
|
||||
@module: The <classname>GModule</classname> it was loaded from
|
||||
@plugin: The plugin object that can be used to register stuff for this plugin.
|
||||
@Returns: A boolean indicating success or failure.
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstPluginDesc ##### -->
|
||||
<para>
|
||||
A plugins should export a variable of this type called plugin_desc. This plugin
|
||||
loaded will use this variable to initialize the plugin.
|
||||
</para>
|
||||
|
||||
@major_version: The minor version of the gstreamer library this plugin was created with
|
||||
@minor_version: The minor version of the gstreamer library this plugin was created with
|
||||
@name: The name of the plugin
|
||||
@plugin_init: The init function of this plugin.
|
||||
|
||||
<!-- ##### MACRO GST_PLUGIN_DESC ##### -->
|
||||
<para>
|
||||
A handy macro to define a plugin description. This macro handles with all the issues
|
||||
involved with the different linking methods for this plugin.
|
||||
</para>
|
||||
|
||||
@major: The major version of GStreamer this plugin was compiled against.
|
||||
@minor: The minor version of GStreamer this plugin was compiled against.
|
||||
@name: The name of the plugin.
|
||||
@init: The init function of this plugin.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PLUGIN_DESC_DYNAMIC ##### -->
|
||||
<para>
|
||||
The macro used to define dynamically loaded plugins.
|
||||
</para>
|
||||
|
||||
@major: The major version of GStreamer this plugin was compiled against.
|
||||
@minor: The minor version of GStreamer this plugin was compiled against.
|
||||
@name: The name of the plugin.
|
||||
@init: The init function of this plugin.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PLUGIN_DESC_STATIC ##### -->
|
||||
<para>
|
||||
A macro used to define a statically linked plugin.
|
||||
</para>
|
||||
|
||||
@major: The major version of GStreamer this plugin was compiled against.
|
||||
@minor: The minor version of GStreamer this plugin was compiled against.
|
||||
@name: The name of the plugin.
|
||||
@init: The init function of this plugin.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_set_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_get_longname ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_set_longname ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@longname:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_get_filename ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_is_loaded ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load_all ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_add_path ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@path:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_library_load ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_find ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_get_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_save_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_add_feature ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@feature:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_get_feature_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_load_plugin ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@plugin:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_unload_all ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstPluginFeature
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
The base class for plugable objects.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This is a base class for anything that can be added to a #GstPlugin.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstPlugin
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_feature_ensure_loaded ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@feature:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_plugin_feature_unload_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@feature:
|
||||
|
||||
|
|
@ -1,290 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstProps
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Properties
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstProps is used to attach certain properties to a pad. Properties
|
||||
are usually used in conjunction with GstCaps.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstCaps
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstProps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@refcount:
|
||||
@lock:
|
||||
@properties: the properties
|
||||
|
||||
<!-- ##### MACRO GST_MAKE_FOURCC ##### -->
|
||||
<para>
|
||||
Create a FOURCC value that can easily be used to construct
|
||||
a fourcc property.
|
||||
<programlisting>
|
||||
...
|
||||
"format", GST_PROPS_FOURCC (GST_MAKE_FOURCC ('Y','U','Y','2')),
|
||||
...
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
@a: first fourcc byte
|
||||
@b: second fourcc byte
|
||||
@c: third fourcc byte
|
||||
@d: fourth fourcc byte
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_STR_FOURCC ##### -->
|
||||
<para>
|
||||
Create a FOURCC value from a string. example:
|
||||
<programlisting>
|
||||
...
|
||||
"format", GST_PROPS_FOURCC (GST_STR_FOURCC ("YUY2")),
|
||||
...
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
@f: the string describing the fourcc value.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_LIST ##### -->
|
||||
<para>
|
||||
Create a list of properties.
|
||||
</para>
|
||||
|
||||
@a...: the list of GstProps
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_INT ##### -->
|
||||
<para>
|
||||
Create an integer property.
|
||||
</para>
|
||||
|
||||
@a: the integer property
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_INT_RANGE ##### -->
|
||||
<para>
|
||||
Create an integer range property.
|
||||
</para>
|
||||
|
||||
@a: the min value for the range
|
||||
@b: the max value for the range
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_FOURCC ##### -->
|
||||
<para>
|
||||
Construct a fourcc property out of four bytes.
|
||||
</para>
|
||||
|
||||
@a: a fourcc value usualy created with GST_FOURCC_MAKE ()
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_BOOLEAN ##### -->
|
||||
<para>
|
||||
Create a boolean property.
|
||||
</para>
|
||||
|
||||
@a: the boolean property
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_STRING ##### -->
|
||||
<para>
|
||||
Create a string value.
|
||||
</para>
|
||||
|
||||
@a: the string value.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_FLOAT ##### -->
|
||||
<para>
|
||||
Create a floating point value.
|
||||
</para>
|
||||
|
||||
@a: the float value
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_PROPS_FLOAT_RANGE ##### -->
|
||||
<para>
|
||||
Create a float range value.
|
||||
</para>
|
||||
|
||||
@a: lower float bounds
|
||||
@b: upper float bounds
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@firstname:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_newv ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@firstname:
|
||||
@var_args:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_merge ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@tomerge:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_copy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_copy_on_write ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_destroy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_ref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_unref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_check_compatibility ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@fromprops:
|
||||
@toprops:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@props1:
|
||||
@props2:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_set ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@name:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@entry:
|
||||
@value:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_get_boolean ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_get_fourcc_int ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_get_int ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_get_string ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_get_float ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_save_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@props:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_props_load_thyself ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstQueue
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Simple asynchronous data queue.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Simple data queue. Data is queued till max_level buffers any subsequent buffers
|
||||
sent to this filter will block until free space becomes available in the buffer.
|
||||
The queue is typically used in conjunction with a thread.
|
||||
</para>
|
||||
<para>
|
||||
You can query how many buffers are queued with the level argument.
|
||||
</para>
|
||||
<para>
|
||||
The default queue length is set to 10.
|
||||
</para>
|
||||
<para>
|
||||
The queue blocks by default.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstQueue:leaky ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstQueue:level ##### -->
|
||||
<para>
|
||||
Get the number of buffers in the queue.
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstQueue:max-level ##### -->
|
||||
<para>
|
||||
Specify the maximum number of buffers in the queue before the queue
|
||||
blocks.
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstQueue:may-deadlock ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -1,188 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstScheduler
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
An abstract class for plugable schedulers.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This is a base class for custom schedulers.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### MACRO GST_SCHEDULER_PARENT ##### -->
|
||||
<para>
|
||||
Get the parent object of this scheduler.
|
||||
</para>
|
||||
|
||||
@sched: the scheduler to get the parent of.
|
||||
|
||||
|
||||
<!-- ##### MACRO GST_SCHEDULER_STATE ##### -->
|
||||
<para>
|
||||
Get the state of the scheduler.
|
||||
</para>
|
||||
|
||||
@sched: the scheduler to get the state of.
|
||||
|
||||
|
||||
<!-- ##### ENUM GstSchedulerState ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_SCHEDULER_STATE_NONE:
|
||||
@GST_SCHEDULER_STATE_RUNNING:
|
||||
@GST_SCHEDULER_STATE_STOPPED:
|
||||
@GST_SCHEDULER_STATE_ERROR:
|
||||
|
||||
<!-- ##### MACRO gst_scheduler_destroy ##### -->
|
||||
<para>
|
||||
Destroy the scheduler
|
||||
</para>
|
||||
|
||||
@sched: The scheduler to destroy.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_setup ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_reset ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_add_element ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_remove_element ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_state_transition ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
@transition:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_lock_element ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_unlock_element ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_yield ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_interrupt ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_error ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_pad_connect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@srcpad:
|
||||
@sinkpad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_pad_disconnect ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@srcpad:
|
||||
@sinkpad:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_pad_select ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@padlist:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_iterate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_scheduler_show ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@sched:
|
||||
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstSchedulerFactory
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Create schedulers from a factory
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
A schedulerfactory is used to create instances of a scheduler. It
|
||||
can be added to a #GstPlugin as it extends #GstPluginFeature.
|
||||
</para>
|
||||
<para>
|
||||
Use gst_schedulerfactory_new() to create a new scheduler which can be registered
|
||||
to a plugin with gst_plugin_add_feature().
|
||||
</para>
|
||||
<para>
|
||||
Use gst_schedulerfactory_find() to find the named schedulerfactory.
|
||||
or use gst_schedulerfactory_get_list() to get a list of all available schedulers.
|
||||
</para>
|
||||
<para>
|
||||
Once an schedulerfactory has been obtained use gst_schedulerfactory_create() to
|
||||
instantiate a real scheduler. Optionally gst_schedulerfactory_make() to create
|
||||
a scheduler from the named factory.
|
||||
</para>
|
||||
<para>
|
||||
Use gst_schedulerfactory_destroy() to remove the factory from the global list.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_create ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_destroy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_find ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_get_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_make ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@parent:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@longdesc:
|
||||
@type:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_get_default_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_schedulerfactory_set_default_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstStaticAutoplug
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
A static autoplugger.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This autoplugger will create a non threaded element before running the
|
||||
pipeline.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstStaticAutoplugRender
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
An autoplugger made for media playback
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
this autoplugger will create a threaded element that can be used
|
||||
in media players.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstStatistics
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Provide statistics about data that passes this plugin
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The plugin doesn't alter the data but provides statistics about
|
||||
the data stream, such as buffers/bytes/events etc.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SIGNAL GstStatistics::update ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gststatistics: the object which received the signal.
|
||||
|
||||
<!-- ##### ARG GstStatistics:buffers ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:bytes ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:events ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:buffer-update-freq ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:bytes-update-freq ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:event-update-freq ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:update-on-eos ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:update ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstStatistics:silent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstTee
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
1-to-N pipe fitting
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
A tee can be used to split out the filter graph.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstTee:num-pads ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GstTee:silent ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstThread
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
A bin that will become a thread
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
A bin that will become a thread if possible when the pipeline is started
|
||||
up. Can contain any set of GstObjects except another GstThread. All
|
||||
starting points and/or clocked events must be registered with this object,
|
||||
to be dealt with in the separate thread.
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ENUM GstThreadState ##### -->
|
||||
<para>
|
||||
Thread flags:
|
||||
</para>
|
||||
|
||||
@GST_THREAD_STATE_STARTED:
|
||||
@GST_THREAD_STATE_SPINNING: The thread is runnning
|
||||
@GST_THREAD_STATE_REAPING: The thread is ending.
|
||||
@GST_THREAD_FLAG_LAST: subclass use this to start their enumeration
|
||||
|
||||
<!-- ##### STRUCT GstThread ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_thread_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,136 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstTimeCache
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Cache time and byteoffsets.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This clas is used by plugins to manage time vs byte offsets. It is mainly
|
||||
used for efficient seeking.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstTimeCacheEntry ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@location:
|
||||
@timestamp:
|
||||
|
||||
<!-- ##### STRUCT GstTimeCacheGroup ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@groupnum:
|
||||
@entries:
|
||||
@certainty:
|
||||
@peergroup:
|
||||
@mintimestamp:
|
||||
@maxtimestamp:
|
||||
@minlocation:
|
||||
@maxlocation:
|
||||
|
||||
<!-- ##### ENUM GstTimeCacheCertainty ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GST_TIMECACHE_UNKNOWN:
|
||||
@GST_TIMECACHE_CERTAIN:
|
||||
@GST_TIMECACHE_FUZZY_LOCATION:
|
||||
@GST_TIMECACHE_FUZZY_TIMESTAMP:
|
||||
@GST_TIMECACHE_FUZZY:
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_get_group ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_new_group ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_set_group ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@groupnum:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_set_certainty ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@certainty:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_get_certainty ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_add_entry ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@location:
|
||||
@timestamp:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_find_location ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@location:
|
||||
@timestamp:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_timecache_find_timestamp ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@tc:
|
||||
@timestamp:
|
||||
@location:
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstTrace
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Tracing functionality
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Tracing functionality
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstType
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Identifies the data
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GstTypes exist to try to make sure data eveyrone is talking about the
|
||||
right kind of data. They aid quite a bit in autoplugging, in fact make it
|
||||
possible. Each well-formed type includes a function (typefind) that will
|
||||
take one or more buffers and determine whether or not it is indeed a
|
||||
stream of that type, and possible a metadata to go with it. It may
|
||||
provide related metadata structure IDs (and must if it provides metadata
|
||||
from the typefind function).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Because multiple elements and plugins are very likely to be using the same
|
||||
types, the process of creating/finding types is designed to be done with a
|
||||
single function call. All operations on GstTypes occur via their guint16
|
||||
ID numbers, with the GstType structure "private" to the GST library. A
|
||||
plugin wishing to use a give type would contain a static struct of type
|
||||
GstTypeFactory, which lists the MIME type, possible extensions (which may
|
||||
overlap the mime-types file), a typefind function, and any other cruft I
|
||||
decide to add.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A plugin init function would take this typefactory and hand it to the
|
||||
gst_type_new() (FIXME: badly named) function, which would first search for
|
||||
that same MIME type in the current list. If it found one, it would
|
||||
compare the two to see if the new one is "better". Better is defined as
|
||||
having more extentions (to be merged) or a typefind function verses none.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The point of returning an existing MIME type is a result of the goal of
|
||||
unifying types enough to guarantee that, for instance, all MP3 decoders
|
||||
will work interchangably. If MP3 decoder A says "MIME type 'audio/mpeg'
|
||||
with extensions 'mpeg3'" and decoder B says "MIME type 'audio/mpeg' with
|
||||
extensions 'mp3'", we don't want to have two types defined, possibly with
|
||||
two typefind functions. If we did, it's not obvious which of the two would
|
||||
be tried first (luck) and if both would really identify streams as mp3
|
||||
correctly in all cases. And whichever wins, we're stuck using the
|
||||
associated decoder to play that stream. We lose the choice between any
|
||||
valid mp3 decoder, and thus the whole point of the type system.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstTypeFactory
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstType ##### -->
|
||||
<para>
|
||||
A type.
|
||||
</para>
|
||||
|
||||
@id:
|
||||
@mime:
|
||||
@exts:
|
||||
@factories:
|
||||
|
||||
<!-- ##### FUNCTION gst_type_register ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@factory:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_type_find_by_mime ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@mime:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_type_find_by_ext ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ext:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_type_find_by_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@id:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_type_get_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstTypeFactory
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Add types to plugins.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
A GstTypeFactory is used to add a new type and a typedetection function
|
||||
to a plugin. Typefactories are named so they can be found with
|
||||
gst_typefactory_find().
|
||||
</para>
|
||||
<para>
|
||||
gst_typefactory_new() is used to create a new typefactory from the given
|
||||
#GstTypeDefinition. A typefactory is added to a #GstPlugin with
|
||||
gst_plugin_add_feature() as shown in the example:
|
||||
<programlisting>
|
||||
static GstCaps*
|
||||
avi_typefind (GstBuffer *buf, gpointer private)
|
||||
{
|
||||
gchar *data = GST_BUFFER_DATA (buf);
|
||||
|
||||
if (strncmp (&data[0], "RIFF", 4)) return NULL;
|
||||
if (strncmp (&data[8], "AVI ", 4)) return NULL;
|
||||
|
||||
return gst_caps_new ("avi_typefind","video/avi", NULL);
|
||||
}
|
||||
|
||||
/* typedefinition for 'avi' */
|
||||
static GstTypeDefinition avidefinition = {
|
||||
"avidecoder_video/avi", /* the name of this definition */
|
||||
"video/avi", /* the mime type */
|
||||
".avi", /* the file extensions */
|
||||
avi_typefind, /* a pointer to a GstTypeFindFunc function */
|
||||
};
|
||||
|
||||
static gboolean
|
||||
plugin_init (GModule *module, GstPlugin *plugin)
|
||||
{
|
||||
GstTypeFactory *type;
|
||||
...
|
||||
type = gst_typefactory_new (&avidefinition);
|
||||
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (type));
|
||||
...
|
||||
}
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GstPluginFeature, #GstPlugin
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstTypeFactory ##### -->
|
||||
<para>
|
||||
The struct with the typefactory information.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### STRUCT GstTypeDefinition ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name: The name of this factory
|
||||
@mime: The mime type of the new type.
|
||||
@exts: The extensions of this type.
|
||||
@typefindfunc: An optional typefind function.
|
||||
|
||||
<!-- ##### USER_FUNCTION GstTypeFindFunc ##### -->
|
||||
<para>
|
||||
This is the function that will be called when a typefind has to be
|
||||
performed by a plugin.
|
||||
</para>
|
||||
|
||||
@buf: the buffer with media on which to perform the typefind
|
||||
@priv: private; don't touch
|
||||
@Returns: A #GstCaps structure describing the type or NULL if the
|
||||
type was not recognized by this function;
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_typefactory_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@definition:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_typefactory_find ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_typefactory_get_list ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstTypeFind
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Detect the mime type of a media stream
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This element can be added to the pipeline and will notify the listener of
|
||||
the detected mime type of the stream. It is used in autoplugging.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SIGNAL GstTypeFind::have-type ##### -->
|
||||
<para>
|
||||
The signal to indicate the mime type was detected.
|
||||
</para>
|
||||
|
||||
@gsttypefind: the object which received the signal.
|
||||
@arg1: The mime type that was detected
|
||||
|
||||
<!-- ##### ARG GstTypeFind:caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
|
@ -1,146 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstUtils
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Utility functions
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Some convenience functions
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gst_util_set_object_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@name:
|
||||
@value:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_int_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_bool_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_long_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_float_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_double_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_string_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_pointer_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_get_int64_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_dump_mem ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@mem:
|
||||
@size:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_util_has_arg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@argname:
|
||||
@arg_type:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_print_element_args ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buf:
|
||||
@indent:
|
||||
@element:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_print_pad_caps ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buf:
|
||||
@indent:
|
||||
@pad:
|
||||
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
<!-- ##### SECTION Title ##### -->
|
||||
GstXml
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Convert Elements into an XML presentation.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
All GstElements can be serialized to an XML presentation and subsequently loaded back.
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GstXML ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@topelements:
|
||||
@ns:
|
||||
|
||||
<!-- ##### FUNCTION gst_xml_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_xml_parse_doc ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@xml:
|
||||
@doc:
|
||||
@root:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_xml_parse_memory ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@xml:
|
||||
@buffer:
|
||||
@size:
|
||||
@root:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_xml_parse_file ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@xml:
|
||||
@fname:
|
||||
@root:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_xml_write ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@element:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_xml_get_element ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@xml:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gst_xml_get_topelements ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@xml:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GstXml::object-loaded ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstxml: the object which received the signal.
|
||||
@arg1:
|
||||
@arg2:
|
||||
|
||||
<!-- ##### SIGNAL GstXml::object-loaded ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gstxml: the object which received the signal.
|
||||
@arg1:
|
||||
@arg2:
|
||||
|
|
@ -12,9 +12,8 @@ main (int argc, char *argv[])
|
|||
g_print ("usage: %s <filename>\n", argv[0]);
|
||||
return -1;
|
||||
}
|
||||
pipeline = gst_pipeline_new ("my_pipeline");
|
||||
|
||||
gst_parse_launch ("filesrc[my_filesrc] ! mp3parse ! mpg123 ! osssink", GST_BIN (pipeline));
|
||||
pipeline = (GstElement*) gst_parse_launch ("filesrc [ my_filesrc ] ! mad ! osssink");
|
||||
|
||||
filesrc = gst_bin_get_by_name (GST_BIN (pipeline), "my_filesrc");
|
||||
g_object_set (G_OBJECT (filesrc), "location", argv[1], NULL);
|
||||
|
|
535
gst/gstparse.c
535
gst/gstparse.c
|
@ -20,6 +20,7 @@
|
|||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* #define DEBUG(format,args...) g_print (format, ##args) */
|
||||
#define DEBUG(format,args...)
|
||||
#define DEBUG_NOPREFIX(format,args...)
|
||||
#define VERBOSE(format,args...)
|
||||
|
@ -73,7 +74,7 @@ dynamic_connect (GstElement * element, GstPad * newpad, gpointer data)
|
|||
}
|
||||
|
||||
static gchar *
|
||||
gst_parse_unique_name (gchar * type, gst_parse_priv * priv)
|
||||
gst_parse_unique_name (const gchar * type, gst_parse_priv * priv)
|
||||
{
|
||||
gpointer tmp;
|
||||
gint count;
|
||||
|
@ -81,21 +82,20 @@ gst_parse_unique_name (gchar * type, gst_parse_priv * priv)
|
|||
tmp = g_hash_table_lookup (priv->elementcounts, type);
|
||||
count = GPOINTER_TO_INT (tmp);
|
||||
count++;
|
||||
g_hash_table_insert (priv->elementcounts, type, GINT_TO_POINTER (count));
|
||||
g_hash_table_insert (priv->elementcounts, g_strdup (type), GINT_TO_POINTER (count));
|
||||
|
||||
return g_strdup_printf ("%s%d", type, count - 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static gint
|
||||
gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_priv * priv)
|
||||
gst_parse_launchv_recurse (const gchar **argv, GstBin * parent, gst_parse_priv * priv)
|
||||
{
|
||||
gint i = 0, j = 0;
|
||||
gchar *arg;
|
||||
gint i = -1, j = 0;
|
||||
const gchar *arg;
|
||||
GstElement *element = NULL, *previous = NULL, *prevelement = NULL;
|
||||
gchar closingchar = '\0';
|
||||
gint len;
|
||||
const gchar *cptr;
|
||||
gchar *ptr;
|
||||
gchar *sinkpadname = NULL, *srcpadname = NULL, *tempname;
|
||||
GstPad *temppad;
|
||||
|
@ -106,50 +106,40 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
|
|||
gint retval = 0;
|
||||
gboolean backref = FALSE;
|
||||
|
||||
if (!priv) {
|
||||
priv = g_new0 (gst_parse_priv, 1);
|
||||
priv->elementcounts = g_hash_table_new (g_str_hash, g_str_equal);
|
||||
}
|
||||
|
||||
priv->binlevel++;
|
||||
|
||||
if (GST_IS_PIPELINE (parent)) {
|
||||
closingchar = '\0';
|
||||
DEBUG ("in pipeline ");
|
||||
}
|
||||
else if (GST_IS_THREAD (parent)) {
|
||||
} else if (GST_IS_THREAD (parent)) {
|
||||
closingchar = '}';
|
||||
DEBUG ("in thread ");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
closingchar = ')';
|
||||
DEBUG ("in bin ");
|
||||
}
|
||||
DEBUG_NOPREFIX ("%s\n", GST_ELEMENT_NAME (GST_ELEMENT (parent)));
|
||||
|
||||
while (i < argc) {
|
||||
arg = argv[i];
|
||||
/* FIXME this is a lame solution for problems with the first parser */
|
||||
if (arg == NULL) {
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
while ((arg = argv[++i])) {
|
||||
len = strlen (arg);
|
||||
element = NULL;
|
||||
DEBUG ("** ARGUMENT is '%s'\n", arg);
|
||||
|
||||
/* a null that slipped through the reconstruction */
|
||||
if (len == 0) {
|
||||
DEBUG ("random arg, FIXME\n");
|
||||
i++;
|
||||
continue;
|
||||
|
||||
/* end of the container */
|
||||
}
|
||||
else if (arg[0] == closingchar) {
|
||||
/* time to finish off this bin */
|
||||
continue;
|
||||
} else if (arg[0] == closingchar) {
|
||||
DEBUG ("exiting container %s\n", GST_ELEMENT_NAME (GST_ELEMENT (parent)));
|
||||
|
||||
retval = i + 1;
|
||||
break;
|
||||
|
||||
/* a pad connection */
|
||||
}
|
||||
else if ((ptr = strchr (arg, '!'))) {
|
||||
} else if ((cptr = strchr (arg, '!'))) {
|
||||
DEBUG ("attempting to connect pads together....\n");
|
||||
|
||||
/* if it starts with the ! */
|
||||
|
@ -157,35 +147,35 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
|
|||
srcpadname = NULL;
|
||||
/* if there's a sinkpad... */
|
||||
if (len > 1)
|
||||
sinkpadname = &arg[1];
|
||||
sinkpadname = g_strdup (&arg[1]);
|
||||
else
|
||||
sinkpadname = NULL;
|
||||
}
|
||||
else {
|
||||
srcpadname = g_strndup (arg, (ptr - arg));
|
||||
} else {
|
||||
srcpadname = g_strndup (arg, (cptr - arg));
|
||||
/* if there's a sinkpad */
|
||||
if (len > (ptr - arg) + 1)
|
||||
sinkpadname = &ptr[1];
|
||||
if (len > (cptr - arg) + 1)
|
||||
sinkpadname = g_strdup(&cptr[1]);
|
||||
else
|
||||
sinkpadname = NULL;
|
||||
}
|
||||
|
||||
if (srcpadname && (ptr = strchr (srcpadname, '.'))) {
|
||||
gchar *element_name = g_strndup (arg, (ptr - srcpadname));
|
||||
gchar *element_name = srcpadname;
|
||||
GstElement *new;
|
||||
|
||||
*ptr = '\0'; /* it was a '.' before */
|
||||
|
||||
GST_DEBUG (0, "have pad for element %s\n", element_name);
|
||||
new = gst_bin_get_by_name_recurse_up (parent, element_name);
|
||||
if (!new) {
|
||||
GST_DEBUG (0, "element %s does not exist! trying to continue\n", element_name);
|
||||
}
|
||||
else {
|
||||
previous = new;
|
||||
GST_DEBUG (0, "element %s does not exist! trying to continue\n", element_name);
|
||||
} else {
|
||||
previous = new;
|
||||
srcpadname = ptr + 1;
|
||||
backref = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
GST_DEBUG (0, "have srcpad %s, sinkpad %s\n", srcpadname, sinkpadname);
|
||||
|
||||
g_slist_free (srcpads);
|
||||
|
@ -198,10 +188,10 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
|
|||
while (1) {
|
||||
/* split name at commas */
|
||||
if ((ptr = strchr (srcpadname, ','))) {
|
||||
tempname = g_strndup (srcpadname, (ptr - srcpadname));
|
||||
tempname = srcpadname;
|
||||
srcpadname = &ptr[1];
|
||||
}
|
||||
else {
|
||||
*ptr = '\0';
|
||||
} else {
|
||||
tempname = srcpadname;
|
||||
}
|
||||
|
||||
|
@ -218,8 +208,7 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
|
|||
}
|
||||
if (!temppad) {
|
||||
GST_DEBUG (0, "NO SUCH pad %s in element %s\n", tempname, GST_ELEMENT_NAME (previous));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
GST_DEBUG (0, "have src pad %s:%s\n", GST_DEBUG_PAD_NAME (temppad));
|
||||
}
|
||||
|
||||
|
@ -228,10 +217,9 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
|
|||
break;
|
||||
g_free (tempname);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* check through the list to find the first sink pad */
|
||||
GST_DEBUG (0, "CHECKING through element %s for pad named %s\n", GST_ELEMENT_NAME (previous),
|
||||
} else {
|
||||
/* check through the list to find the first src pad */
|
||||
GST_DEBUG (0, "CHECKING element %s for pad named %s\n", GST_ELEMENT_NAME (previous),
|
||||
srcpadname);
|
||||
pads = gst_element_get_pad_list (previous);
|
||||
while (pads) {
|
||||
|
@ -251,227 +239,226 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
|
|||
else
|
||||
GST_DEBUG (0, "have src pad %s:%s\n", GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (srcpads)));
|
||||
}
|
||||
|
||||
/* argument with = in it */
|
||||
}
|
||||
else if (strstr (arg, "=")) {
|
||||
gchar *argname;
|
||||
gchar *argval;
|
||||
gchar *pos = strstr (arg, "=");
|
||||
|
||||
/* we have an argument */
|
||||
argname = arg;
|
||||
pos[0] = '\0';
|
||||
argval = pos + 1;
|
||||
|
||||
GST_DEBUG (0, "attempting to set argument '%s' to '%s' on element '%s'\n",
|
||||
argname, argval, GST_ELEMENT_NAME (previous));
|
||||
gst_util_set_object_arg (G_OBJECT (previous), argname, argval);
|
||||
g_free (argname);
|
||||
|
||||
/* element or argument, or beginning of bin or thread */
|
||||
}
|
||||
else if (arg[0] == '[') {
|
||||
/* we have the start of a name of the preceding element. */
|
||||
/* rename previous element to next arg. */
|
||||
} else if (strchr (arg, '=')) {
|
||||
gchar *propname;
|
||||
gchar *propval;
|
||||
gchar *pos;
|
||||
|
||||
DEBUG ("have a property\n");
|
||||
|
||||
/* we have a property */
|
||||
propname = g_strdup (arg);
|
||||
pos = strchr (propname, '=');
|
||||
*pos = '\0';
|
||||
propval = pos + 1;
|
||||
|
||||
/* use g_object_set in the future when gst_util_{set|get} go away */
|
||||
GST_DEBUG (0, "attempting to set property '%s' to '%s' on element '%s'\n",
|
||||
propname, propval, GST_ELEMENT_NAME (previous));
|
||||
gst_util_set_object_arg (G_OBJECT (previous), propname, propval);
|
||||
g_free (propname);
|
||||
} else if (arg[0] == '[') {
|
||||
DEBUG ("have element name\n");
|
||||
|
||||
if (arg[1] != '\0') {
|
||||
fprintf (stderr, "error, unexpected junk after [\n");
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
fprintf (stderr, "error, unexpected junk after [\n");
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
}
|
||||
i++;
|
||||
if (i < argc) {
|
||||
gst_element_set_name (previous, argv[i]);
|
||||
|
||||
if ((arg = argv[++i])) {
|
||||
if (!previous) {
|
||||
g_critical("parser error, please report");
|
||||
return GST_PARSE_ERROR_INTERNAL;
|
||||
}
|
||||
gst_element_set_name (previous, arg);
|
||||
} else {
|
||||
fprintf (stderr, "error, expected element name, found end of arguments\n");
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
}
|
||||
else {
|
||||
fprintf (stderr, "error, expected element name, found end of arguments\n");
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
|
||||
if ((arg = argv[++i])) {
|
||||
if (strcmp (arg, "]") != 0) {
|
||||
fprintf (stderr, "error, expected ], found '%s'\n", arg);
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
}
|
||||
} else {
|
||||
fprintf (stderr, "error, expected ], found end of arguments\n");
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
}
|
||||
i++;
|
||||
if (i >= argc) {
|
||||
fprintf (stderr, "error, expected ], found end of arguments\n");
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
}
|
||||
else if (strcmp (argv[i], "]") != 0) {
|
||||
fprintf (stderr, "error, expected ], found '%s'\n", argv[i]);
|
||||
return GST_PARSE_ERROR_SYNTAX;
|
||||
}
|
||||
}
|
||||
else {
|
||||
DEBUG ("have element or bin/thread\n");
|
||||
/* if we have a bin or thread starting */
|
||||
} else {
|
||||
/* we have an element, a bin, or a thread. we treat these together because
|
||||
* once we rech them we have to resolve any dangling connections from
|
||||
* previous array arguments. */
|
||||
|
||||
if (strchr ("({", arg[0])) {
|
||||
if (arg[0] == '(') {
|
||||
/* create a bin and add it to the current parent */
|
||||
element = gst_bin_new (g_strdup_printf ("bin%d", priv->bincount++));
|
||||
if (!element) {
|
||||
fprintf (stderr, "Couldn't create a bin!\n");
|
||||
return GST_PARSE_ERROR_CREATING_ELEMENT;
|
||||
}
|
||||
GST_DEBUG (0, "CREATED bin %s\n", GST_ELEMENT_NAME (element));
|
||||
}
|
||||
else if (arg[0] == '{') {
|
||||
/* create a thread and add it to the current parent */
|
||||
element = gst_thread_new (g_strdup_printf ("thread%d", priv->threadcount++));
|
||||
if (!element) {
|
||||
fprintf (stderr, "Couldn't create a thread!\n");
|
||||
return GST_PARSE_ERROR_CREATING_ELEMENT;
|
||||
}
|
||||
GST_DEBUG (0, "CREATED thread %s\n", GST_ELEMENT_NAME (element));
|
||||
}
|
||||
else {
|
||||
DEBUG ("error in parser, unexpected symbol, FIXME\n");
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
DEBUG ("have bin or thread\n");
|
||||
|
||||
if (arg[0] == '(') {
|
||||
/* create a bin and add it to the current parent */
|
||||
element = gst_bin_new (g_strdup_printf ("bin%d", priv->bincount++));
|
||||
if (!element) {
|
||||
fprintf (stderr, "Couldn't create a bin!\n");
|
||||
return GST_PARSE_ERROR_CREATING_ELEMENT;
|
||||
}
|
||||
GST_DEBUG (0, "CREATED bin %s\n", GST_ELEMENT_NAME (element));
|
||||
} else if (arg[0] == '{') {
|
||||
/* create a thread and add it to the current parent */
|
||||
element = gst_thread_new (g_strdup_printf ("thread%d", priv->threadcount++));
|
||||
if (!element) {
|
||||
fprintf (stderr, "Couldn't create a thread!\n");
|
||||
return GST_PARSE_ERROR_CREATING_ELEMENT;
|
||||
}
|
||||
GST_DEBUG (0, "CREATED thread %s\n", GST_ELEMENT_NAME (element));
|
||||
} else {
|
||||
fprintf (stderr, "Illegal argument: %s\n", arg);
|
||||
return GST_PARSE_ERROR_CREATING_ELEMENT;
|
||||
}
|
||||
|
||||
gst_bin_add (GST_BIN (parent), element);
|
||||
|
||||
j = gst_parse_launch_cmdline (argc - i, argv + i + 1, GST_BIN (element), priv);
|
||||
/* check for parse error */
|
||||
if (j < 0)
|
||||
return j;
|
||||
i += j;
|
||||
|
||||
}
|
||||
else {
|
||||
/* we have an element */
|
||||
DEBUG ("attempting to create element '%s'\n", arg);
|
||||
ptr = gst_parse_unique_name (arg, priv);
|
||||
element = gst_elementfactory_make (arg, ptr);
|
||||
g_free (ptr);
|
||||
if (!element) {
|
||||
|
||||
j = gst_parse_launchv_recurse (argv + i + 1, GST_BIN (element), priv);
|
||||
/* check for parse error */
|
||||
if (j < 0)
|
||||
return j;
|
||||
|
||||
/* we will get autoincremented at the while */
|
||||
i += j;
|
||||
|
||||
} else {
|
||||
/* we have an element */
|
||||
DEBUG ("attempting to create element '%s'\n", arg);
|
||||
|
||||
ptr = gst_parse_unique_name (arg, priv);
|
||||
element = gst_elementfactory_make (arg, ptr);
|
||||
g_free (ptr);
|
||||
if (!element) {
|
||||
#ifndef GST_DISABLE_REGISTRY
|
||||
fprintf (stderr,
|
||||
"Couldn't create a '%s', no such element or need to run gst-register?\n",
|
||||
arg);
|
||||
fprintf (stderr,
|
||||
"Couldn't create a '%s', no such element or need to run gst-register?\n", arg);
|
||||
#else
|
||||
fprintf (stderr, "Couldn't create a '%s', no such element or need to load pluginn?\n",
|
||||
arg);
|
||||
fprintf (stderr, "Couldn't create a '%s', no such element or need to load plugin?\n",
|
||||
arg);
|
||||
#endif
|
||||
return GST_PARSE_ERROR_NOSUCH_ELEMENT;
|
||||
}
|
||||
GST_DEBUG (0, "CREATED element %s\n", GST_ELEMENT_NAME (element));
|
||||
return GST_PARSE_ERROR_NOSUCH_ELEMENT;
|
||||
}
|
||||
|
||||
GST_DEBUG (0, "CREATED element %s\n", GST_ELEMENT_NAME (element));
|
||||
gst_bin_add (GST_BIN (parent), element);
|
||||
}
|
||||
|
||||
|
||||
elementcount++;
|
||||
|
||||
|
||||
g_slist_free (sinkpads);
|
||||
sinkpads = NULL;
|
||||
numsinkpads = 0;
|
||||
tempname = NULL;
|
||||
|
||||
|
||||
/* find sink pads */
|
||||
if (sinkpadname != NULL) {
|
||||
while (1) {
|
||||
/* split name at commas */
|
||||
if ((ptr = strchr (sinkpadname, ','))) {
|
||||
tempname = g_strndup (sinkpadname, (ptr - sinkpadname));
|
||||
sinkpadname = &ptr[1];
|
||||
}
|
||||
else {
|
||||
tempname = sinkpadname;
|
||||
}
|
||||
|
||||
/* look for pad with that name */
|
||||
if ((temppad = gst_element_get_pad (element, tempname))) {
|
||||
sinkpads = g_slist_append (sinkpads, temppad);
|
||||
numsinkpads++;
|
||||
}
|
||||
|
||||
/* try to create a pad using that padtemplate name */
|
||||
else if ((temppad = gst_element_request_pad_by_name (element, tempname))) {
|
||||
sinkpads = g_slist_append (sinkpads, temppad);
|
||||
numsinkpads++;
|
||||
}
|
||||
if (!temppad) {
|
||||
GST_DEBUG (0, "NO SUCH pad %s in element %s\n", tempname, GST_ELEMENT_NAME (element));
|
||||
}
|
||||
else {
|
||||
GST_DEBUG (0, "have sink pad %s:%s\n", GST_DEBUG_PAD_NAME (temppad));
|
||||
}
|
||||
|
||||
/* if there is no more commas in sinkpadname then we're done */
|
||||
if (tempname == sinkpadname)
|
||||
break;
|
||||
g_free (tempname);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* check through the list to find the first sink pad */
|
||||
pads = gst_element_get_pad_list (element);
|
||||
while (pads) {
|
||||
temppad = GST_PAD (pads->data);
|
||||
pads = g_list_next (pads);
|
||||
if (gst_pad_get_direction (temppad) == GST_PAD_SINK) {
|
||||
while (1) {
|
||||
/* split name at commas */
|
||||
if ((ptr = strchr (sinkpadname, ','))) {
|
||||
tempname = g_strndup (sinkpadname, (ptr - sinkpadname));
|
||||
sinkpadname = &ptr[1];
|
||||
} else {
|
||||
tempname = sinkpadname;
|
||||
}
|
||||
|
||||
/* look for pad with that name */
|
||||
if ((temppad = gst_element_get_pad (element, tempname))) {
|
||||
sinkpads = g_slist_append (sinkpads, temppad);
|
||||
numsinkpads++;
|
||||
}
|
||||
|
||||
/* try to create a pad using that padtemplate name */
|
||||
else if ((temppad = gst_element_request_pad_by_name (element, tempname))) {
|
||||
sinkpads = g_slist_append (sinkpads, temppad);
|
||||
numsinkpads++;
|
||||
}
|
||||
if (!temppad) {
|
||||
GST_DEBUG (0, "NO SUCH pad %s in element %s\n", tempname, GST_ELEMENT_NAME (element));
|
||||
} else {
|
||||
GST_DEBUG (0, "have sink pad %s:%s\n", GST_DEBUG_PAD_NAME (temppad));
|
||||
}
|
||||
|
||||
/* if there is no more commas in sinkpadname then we're done */
|
||||
if (tempname == sinkpadname)
|
||||
break;
|
||||
g_free (tempname);
|
||||
}
|
||||
} else {
|
||||
/* check through the list to find the first sink pad */
|
||||
pads = gst_element_get_pad_list (element);
|
||||
while (pads) {
|
||||
temppad = GST_PAD (pads->data);
|
||||
pads = g_list_next (pads);
|
||||
if (gst_pad_get_direction (temppad) == GST_PAD_SINK) {
|
||||
sinkpads = g_slist_append (sinkpads, temppad);
|
||||
numsinkpads++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!sinkpads)
|
||||
GST_DEBUG (0, "can't find a sink pad for element\n");
|
||||
GST_DEBUG (0, "can't find a sink pad for element\n");
|
||||
else
|
||||
GST_DEBUG (0, "have sink pad %s:%s\n", GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (sinkpads)));
|
||||
|
||||
GST_DEBUG (0, "have sink pad %s:%s\n", GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (sinkpads)));
|
||||
|
||||
if (!srcpads && sinkpads && previous && srcpadname) {
|
||||
dyn_connect *connect = g_malloc (sizeof (dyn_connect));
|
||||
|
||||
connect->srcpadname = srcpadname;
|
||||
connect->target = GST_PARSE_LISTPAD (sinkpads);
|
||||
connect->pipeline = GST_ELEMENT (parent);
|
||||
|
||||
GST_DEBUG (0, "SETTING UP dynamic connection %s:%s and %s:%s\n",
|
||||
gst_element_get_name (previous),
|
||||
srcpadname, GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (sinkpads)));
|
||||
|
||||
g_signal_connect (G_OBJECT (previous), "new_pad", G_CALLBACK (dynamic_connect), connect);
|
||||
dyn_connect *connect = g_malloc (sizeof (dyn_connect));
|
||||
|
||||
connect->srcpadname = srcpadname;
|
||||
connect->target = GST_PARSE_LISTPAD (sinkpads);
|
||||
connect->pipeline = GST_ELEMENT (parent);
|
||||
|
||||
GST_DEBUG (0, "SETTING UP dynamic connection %s:%s and %s:%s\n",
|
||||
gst_element_get_name (previous),
|
||||
srcpadname, GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (sinkpads)));
|
||||
|
||||
g_signal_connect (G_OBJECT (previous), "new_pad", G_CALLBACK (dynamic_connect), connect);
|
||||
} else {
|
||||
for (j = 0; (j < numsrcpads) && (j < numsinkpads); j++) {
|
||||
GST_DEBUG (0, "CONNECTING %s:%s and %s:%s\n",
|
||||
GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (g_slist_nth (srcpads, j))),
|
||||
GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (g_slist_nth (sinkpads, j))));
|
||||
gst_pad_connect (GST_PARSE_LISTPAD (g_slist_nth (srcpads, j)),
|
||||
GST_PARSE_LISTPAD (g_slist_nth (sinkpads, j)));
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (j = 0; (j < numsrcpads) && (j < numsinkpads); j++) {
|
||||
GST_DEBUG (0, "CONNECTING %s:%s and %s:%s\n",
|
||||
GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (g_slist_nth (srcpads, j))),
|
||||
GST_DEBUG_PAD_NAME (GST_PARSE_LISTPAD (g_slist_nth (sinkpads, j))));
|
||||
gst_pad_connect (GST_PARSE_LISTPAD (g_slist_nth (srcpads, j)),
|
||||
GST_PARSE_LISTPAD (g_slist_nth (sinkpads, j)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
g_slist_free (srcpads);
|
||||
srcpads = NULL;
|
||||
|
||||
g_slist_free (sinkpads);
|
||||
sinkpads = NULL;
|
||||
|
||||
|
||||
/* if we're the first element, ghost all the sinkpads */
|
||||
if (elementcount == 1 && !backref) {
|
||||
DEBUG ("first element, ghosting all of %s's sink pads to parent %s\n",
|
||||
GST_ELEMENT_NAME (element), GST_ELEMENT_NAME (GST_ELEMENT (parent)));
|
||||
pads = gst_element_get_pad_list (element);
|
||||
while (pads) {
|
||||
temppad = GST_PAD (pads->data);
|
||||
pads = g_list_next (pads);
|
||||
if (!temppad)
|
||||
DEBUG ("much oddness, pad doesn't seem to exist\n");
|
||||
else if (gst_pad_get_direction (temppad) == GST_PAD_SINK) {
|
||||
gst_element_add_ghost_pad (GST_ELEMENT (parent), temppad,
|
||||
g_strdup_printf ("%s-ghost", GST_PAD_NAME (temppad)));
|
||||
GST_DEBUG (0, "GHOSTED %s:%s to %s as %s-ghost\n",
|
||||
GST_DEBUG_PAD_NAME (temppad), GST_ELEMENT_NAME (GST_ELEMENT (parent)),
|
||||
GST_PAD_NAME (temppad));
|
||||
}
|
||||
}
|
||||
DEBUG ("first element, ghosting all of %s's sink pads to parent %s\n",
|
||||
GST_ELEMENT_NAME (element), GST_ELEMENT_NAME (GST_ELEMENT (parent)));
|
||||
pads = gst_element_get_pad_list (element);
|
||||
while (pads) {
|
||||
temppad = GST_PAD (pads->data);
|
||||
pads = g_list_next (pads);
|
||||
if (!temppad)
|
||||
DEBUG ("much oddness, pad doesn't seem to exist\n");
|
||||
else if (gst_pad_get_direction (temppad) == GST_PAD_SINK) {
|
||||
gst_element_add_ghost_pad (GST_ELEMENT (parent), temppad,
|
||||
g_strdup_printf ("%s-ghost", GST_PAD_NAME (temppad)));
|
||||
GST_DEBUG (0, "GHOSTED %s:%s to %s as %s-ghost\n",
|
||||
GST_DEBUG_PAD_NAME (temppad), GST_ELEMENT_NAME (GST_ELEMENT (parent)),
|
||||
GST_PAD_NAME (temppad));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
previous = element;
|
||||
if (!GST_IS_BIN (element))
|
||||
prevelement = element;
|
||||
prevelement = element;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
|
||||
/* ghost all the src pads of the bin */
|
||||
if (prevelement != NULL) {
|
||||
DEBUG ("last element, ghosting all of %s's src pads to parent %s\n",
|
||||
|
@ -490,51 +477,73 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
priv->binlevel--;
|
||||
|
||||
|
||||
if (retval)
|
||||
return retval;
|
||||
|
||||
|
||||
DEBUG (closingchar != '\0' ? "returning IN THE WRONG PLACE\n" : "ending pipeline\n");
|
||||
|
||||
|
||||
return i + 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gst_parse_launchv:
|
||||
* @argv: null-terminated array of arguments
|
||||
*
|
||||
* Create a new pipeline based on command line syntax.
|
||||
*
|
||||
* Returns: a new pipeline on success, NULL on failure
|
||||
*/
|
||||
GstPipeline *
|
||||
gst_parse_launchv (const gchar **argv)
|
||||
{
|
||||
GstPipeline *pipeline;
|
||||
gint ret;
|
||||
|
||||
/* defer error detection to the _recurse function */
|
||||
|
||||
pipeline = (GstPipeline*) gst_pipeline_new ("launch");
|
||||
|
||||
ret = gst_parse_launchv_recurse (argv, GST_BIN (pipeline), NULL);
|
||||
|
||||
if (ret <= 0) {
|
||||
// print an error
|
||||
gst_object_unref (GST_OBJECT (pipeline));
|
||||
return NULL;
|
||||
} else {
|
||||
return pipeline;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_parse_launch:
|
||||
* @cmdline: the command line describing the pipeline
|
||||
* @parent: the parent bin for the resulting pipeline
|
||||
* @pipeline_description: the command line describing the pipeline
|
||||
*
|
||||
* Create a new pipeline based on command line syntax.
|
||||
*
|
||||
* Returns: ?
|
||||
* Returns: a new GstPipeline (cast to a Bin) on success, NULL on failure
|
||||
*/
|
||||
gint
|
||||
gst_parse_launch (const gchar * cmdline, GstBin * parent)
|
||||
GstPipeline *
|
||||
gst_parse_launch (const gchar * pipeline_description)
|
||||
{
|
||||
gst_parse_priv priv;
|
||||
gchar **argvn;
|
||||
gint newargc;
|
||||
gint i;
|
||||
const gchar *cp, *start, *end;
|
||||
gchar *temp;
|
||||
GSList *string_list = NULL, *slist;
|
||||
GstPipeline *pipeline;
|
||||
|
||||
priv.bincount = 0;
|
||||
priv.threadcount = 0;
|
||||
priv.binlevel = 0;
|
||||
priv.elementcounts = NULL;
|
||||
priv.verbose = FALSE;
|
||||
priv.debug = FALSE;
|
||||
|
||||
end = cmdline + strlen (cmdline);
|
||||
end = pipeline_description + strlen (pipeline_description);
|
||||
newargc = 0;
|
||||
|
||||
temp = "";
|
||||
|
||||
/* Extract the arguments to a gslist in reverse order */
|
||||
for (cp = cmdline; cp < end;) {
|
||||
for (cp = pipeline_description; cp < end;) {
|
||||
i = strcspn (cp, "([{}]) \"\\");
|
||||
|
||||
if (i > 0) {
|
||||
|
@ -546,8 +555,7 @@ gst_parse_launch (const gchar * cmdline, GstBin * parent)
|
|||
string_list = g_slist_prepend (string_list, temp);
|
||||
newargc++;
|
||||
temp = "";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
temp = g_strconcat (temp, g_strndup (&cp[++i], 1), NULL);
|
||||
}
|
||||
cp += i;
|
||||
|
@ -587,8 +595,8 @@ gst_parse_launch (const gchar * cmdline, GstBin * parent)
|
|||
}
|
||||
}
|
||||
|
||||
/* now allocate the new argv array */
|
||||
argvn = g_new0 (char *, newargc);
|
||||
/* now allocate the new argv array, with room for NULL termination */
|
||||
argvn = g_new0 (char *, newargc + 1);
|
||||
|
||||
GST_DEBUG (0, "got %d args\n", newargc);
|
||||
|
||||
|
@ -601,18 +609,15 @@ gst_parse_launch (const gchar * cmdline, GstBin * parent)
|
|||
g_slist_free (string_list);
|
||||
|
||||
/* print them out */
|
||||
for (i = 0; i < newargc; i++) {
|
||||
GST_DEBUG (0, "arg %d is: %s\n", i, argvn[i]);
|
||||
while (argvn[i]) {
|
||||
GST_DEBUG (0, "arg %d is: %s\n", i, argvn[i++]);
|
||||
}
|
||||
|
||||
/* set up the elementcounts hash */
|
||||
priv.elementcounts = g_hash_table_new (g_str_hash, g_str_equal);
|
||||
|
||||
/* do it! */
|
||||
i = gst_parse_launch_cmdline (newargc, argvn, parent, &priv);
|
||||
pipeline = gst_parse_launchv (argvn);
|
||||
|
||||
/* GST_DEBUG(0, "Finished - freeing temporary argument array"); */
|
||||
/* g_strfreev(argvn); */
|
||||
GST_DEBUG(0, "Finished - freeing temporary argument array");
|
||||
g_strfreev(argvn);
|
||||
|
||||
return i;
|
||||
return pipeline;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#ifndef __GST_PARSE_H__
|
||||
#define __GST_PARSE_H__
|
||||
|
||||
#include <gst/gstbin.h>
|
||||
#include <gst/gstpipeline.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -35,9 +35,11 @@ typedef enum {
|
|||
GST_PARSE_ERROR_SYNTAX = -1,
|
||||
GST_PARSE_ERROR_CREATING_ELEMENT = -2,
|
||||
GST_PARSE_ERROR_NOSUCH_ELEMENT = -3,
|
||||
GST_PARSE_ERROR_INTERNAL = -4
|
||||
} GstParseErrors;
|
||||
|
||||
gint gst_parse_launch (const gchar *cmdline, GstBin *parent);
|
||||
GstPipeline* gst_parse_launch (const gchar *pipeline_description);
|
||||
GstPipeline* gst_parse_launchv (const gchar **argv);
|
||||
|
||||
#else /* GST_DISABLE_PARSE */
|
||||
|
||||
|
|
|
@ -12,9 +12,8 @@ main (int argc, char *argv[])
|
|||
g_print ("usage: %s <filename>\n", argv[0]);
|
||||
return -1;
|
||||
}
|
||||
pipeline = gst_pipeline_new ("my_pipeline");
|
||||
|
||||
gst_parse_launch ("filesrc[my_filesrc] ! mp3parse ! mpg123 ! osssink", GST_BIN (pipeline));
|
||||
pipeline = (GstElement*) gst_parse_launch ("filesrc [ my_filesrc ] ! mad ! osssink");
|
||||
|
||||
filesrc = gst_bin_get_by_name (GST_BIN (pipeline), "my_filesrc");
|
||||
g_object_set (G_OBJECT (filesrc), "location", argv[1], NULL);
|
||||
|
|
|
@ -94,7 +94,7 @@ main(int argc, char *argv[])
|
|||
free (malloc (8)); /* -lefence */
|
||||
|
||||
gst_init (&argc, &argv);
|
||||
|
||||
|
||||
if (argc >= 3 && !strcmp(argv[1], "-o")) {
|
||||
save_pipeline = TRUE;
|
||||
run_pipeline = FALSE;
|
||||
|
@ -107,43 +107,29 @@ main(int argc, char *argv[])
|
|||
launch_argc = argc;
|
||||
launch_argv = argv;
|
||||
|
||||
pipeline = gst_pipeline_new ("launch");
|
||||
|
||||
g_signal_connect (G_OBJECT (pipeline), "event", G_CALLBACK (event_func), NULL);
|
||||
/* make a null-terminated version of argv */
|
||||
argvn = g_new0 (char *,argc);
|
||||
memcpy (argvn, argv+1, sizeof (char*) * (argc-1));
|
||||
|
||||
/* escape spaces */
|
||||
for (i=0; i<argc-1; i++) {
|
||||
gchar **split;
|
||||
|
||||
split = g_strsplit (argvn[i], " ", 0);
|
||||
|
||||
argvn[i] = g_strjoinv ("\\ ", split);
|
||||
g_strfreev (split);
|
||||
if (strstr (argv[0], "gst-xmllaunch")) {
|
||||
// pipeline = gst_xmllaunch_parse_cmdline (argc, argv);
|
||||
} else {
|
||||
pipeline = (GstElement*) gst_parse_launchv (argvn);
|
||||
}
|
||||
/* join the argvs together */
|
||||
cmdline = g_strjoinv (" ", argvn);
|
||||
/* free the null-terminated argv */
|
||||
g_free (argvn);
|
||||
|
||||
/* fail if there are no pipes in it (needs pipes for a pipeline */
|
||||
if (!strchr(cmdline,'!')) {
|
||||
fprintf(stderr,"ERROR: no pipeline description found on commandline\n");
|
||||
if (!pipeline) {
|
||||
fprintf(stderr, "ERROR: pipeline could not be constructed\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (gst_parse_launch (cmdline, GST_BIN (pipeline)) < 0){
|
||||
fprintf(stderr,"ERROR: pipeline description could not be parsed\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
g_signal_connect (G_OBJECT (pipeline), "event", G_CALLBACK (event_func), NULL);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
if (save_pipeline) {
|
||||
gst_xml_write_file (GST_ELEMENT (pipeline), fopen (savefile, "w"));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (run_pipeline) {
|
||||
gst_buffer_print_stats();
|
||||
fprintf(stderr,"RUNNING pipeline\n");
|
||||
|
|
Loading…
Reference in a new issue