diff options
author | Andy Wingo <wingo@pobox.com> | 2002-01-15 00:41:22 +0000 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2002-01-15 00:41:22 +0000 |
commit | 43cbc42c45772355d416277b59c8480c1b91c889 (patch) | |
tree | 52ff83b5b913c5c511841fe8521c6490ae875e28 | |
parent | 5c10feaf48bd8dec3ecee9da69ad990b5833eef1 (diff) | |
download | gstreamer-43cbc42c45772355d416277b59c8480c1b91c889.tar.gz |
the 'brown paper bag' commit. sorry for the email spam on this one, but it will be laaaarrrggggeee
Original commit message from CVS:
the 'brown paper bag' commit. sorry for the email spam on this one, but it will be laaaarrrggggeee
55 files changed, 12888 insertions, 0 deletions
diff --git a/docs/gst/tmpl/cothreads.sgml b/docs/gst/tmpl/cothreads.sgml new file mode 100644 index 0000000000..dc602cc86f --- /dev/null +++ b/docs/gst/tmpl/cothreads.sgml @@ -0,0 +1,208 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gobject2gtk.sgml b/docs/gst/tmpl/gobject2gtk.sgml new file mode 100644 index 0000000000..2122412029 --- /dev/null +++ b/docs/gst/tmpl/gobject2gtk.sgml @@ -0,0 +1,16 @@ +<!-- ##### SECTION Title ##### --> +GObject + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + diff --git a/docs/gst/tmpl/gst.sgml b/docs/gst/tmpl/gst.sgml new file mode 100644 index 0000000000..de74f0ae1c --- /dev/null +++ b/docs/gst/tmpl/gst.sgml @@ -0,0 +1,109 @@ +<!-- ##### 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> + + + diff --git a/docs/gst/tmpl/gstaggregator.sgml b/docs/gst/tmpl/gstaggregator.sgml new file mode 100644 index 0000000000..0777fce60a --- /dev/null +++ b/docs/gst/tmpl/gstaggregator.sgml @@ -0,0 +1,42 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstarch.sgml b/docs/gst/tmpl/gstarch.sgml new file mode 100644 index 0000000000..49ac6d0ca7 --- /dev/null +++ b/docs/gst/tmpl/gstarch.sgml @@ -0,0 +1,51 @@ +<!-- ##### 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> + + + diff --git a/docs/gst/tmpl/gstautoplug.sgml b/docs/gst/tmpl/gstautoplug.sgml new file mode 100644 index 0000000000..89a073ea53 --- /dev/null +++ b/docs/gst/tmpl/gstautoplug.sgml @@ -0,0 +1,144 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstautoplugfactory.sgml b/docs/gst/tmpl/gstautoplugfactory.sgml new file mode 100644 index 0000000000..4742b30636 --- /dev/null +++ b/docs/gst/tmpl/gstautoplugfactory.sgml @@ -0,0 +1,93 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstbin.sgml b/docs/gst/tmpl/gstbin.sgml new file mode 100644 index 0000000000..457df14988 --- /dev/null +++ b/docs/gst/tmpl/gstbin.sgml @@ -0,0 +1,176 @@ +<!-- ##### 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 + diff --git a/docs/gst/tmpl/gstbuffer.sgml b/docs/gst/tmpl/gstbuffer.sgml new file mode 100644 index 0000000000..3669daab1d --- /dev/null +++ b/docs/gst/tmpl/gstbuffer.sgml @@ -0,0 +1,401 @@ +<!-- ##### 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> + + + diff --git a/docs/gst/tmpl/gstbufferpool.sgml b/docs/gst/tmpl/gstbufferpool.sgml new file mode 100644 index 0000000000..2178525a1d --- /dev/null +++ b/docs/gst/tmpl/gstbufferpool.sgml @@ -0,0 +1,226 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstcaps.sgml b/docs/gst/tmpl/gstcaps.sgml new file mode 100644 index 0000000000..3dc368d8b0 --- /dev/null +++ b/docs/gst/tmpl/gstcaps.sgml @@ -0,0 +1,488 @@ +<!-- ##### 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. + + +<!-- ##### MACRO GST_CAPS_IS_CHAINED ##### --> +<para> + +</para> + +@caps: + + +<!-- ##### MACRO GST_CAPS_IS_FIXED ##### --> +<para> + +</para> + +@caps: + + +<!-- ##### 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 +@fixed: +@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_new_id ##### --> +<para> + +</para> + +@name: +@id: +@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_has_property ##### --> +<para> + +</para> + +@caps: +@name: + + +<!-- ##### FUNCTION gst_caps_normalize ##### --> +<para> + +</para> + +@caps: +@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 + + +<!-- ##### FUNCTION gst_caps_intersect ##### --> +<para> + +</para> + +@caps1: +@caps2: +@Returns: + + +<!-- ##### 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: + + +<!-- ##### FUNCTION gst_caps_debug ##### --> +<para> + +</para> + +@caps: + + diff --git a/docs/gst/tmpl/gstclock.sgml b/docs/gst/tmpl/gstclock.sgml new file mode 100644 index 0000000000..45b8c9a212 --- /dev/null +++ b/docs/gst/tmpl/gstclock.sgml @@ -0,0 +1,118 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstcpu.sgml b/docs/gst/tmpl/gstcpu.sgml new file mode 100644 index 0000000000..0c3c2e5f89 --- /dev/null +++ b/docs/gst/tmpl/gstcpu.sgml @@ -0,0 +1,40 @@ +<!-- ##### 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 + + diff --git a/docs/gst/tmpl/gstdata.sgml b/docs/gst/tmpl/gstdata.sgml new file mode 100644 index 0000000000..4f1c83b1f5 --- /dev/null +++ b/docs/gst/tmpl/gstdata.sgml @@ -0,0 +1,24 @@ +<!-- ##### 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. + diff --git a/docs/gst/tmpl/gstdisksink.sgml b/docs/gst/tmpl/gstdisksink.sgml new file mode 100644 index 0000000000..143f96ef14 --- /dev/null +++ b/docs/gst/tmpl/gstdisksink.sgml @@ -0,0 +1,24 @@ +<!-- ##### 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: + diff --git a/docs/gst/tmpl/gstdisksrc.sgml b/docs/gst/tmpl/gstdisksrc.sgml new file mode 100644 index 0000000000..1dae1ec21f --- /dev/null +++ b/docs/gst/tmpl/gstdisksrc.sgml @@ -0,0 +1,54 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml new file mode 100644 index 0000000000..ce417b5fb9 --- /dev/null +++ b/docs/gst/tmpl/gstelement.sgml @@ -0,0 +1,606 @@ +<!-- ##### 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: +@Returns: + + +<!-- ##### FUNCTION gst_element_connect_filtered ##### --> +<para> + +</para> + +@src: +@srcpadname: +@dest: +@destpadname: +@filtercaps: +@Returns: + + +<!-- ##### 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_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::eos ##### --> +<para> + +</para> + +@gstelement: the object which received the signal. + +<!-- ##### 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::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::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: + diff --git a/docs/gst/tmpl/gstelementfactory.sgml b/docs/gst/tmpl/gstelementfactory.sgml new file mode 100644 index 0000000000..adae3a5be9 --- /dev/null +++ b/docs/gst/tmpl/gstelementfactory.sgml @@ -0,0 +1,149 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstevent.sgml b/docs/gst/tmpl/gstevent.sgml new file mode 100644 index 0000000000..c58ca09b84 --- /dev/null +++ b/docs/gst/tmpl/gstevent.sgml @@ -0,0 +1,163 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstextratypes.sgml b/docs/gst/tmpl/gstextratypes.sgml new file mode 100644 index 0000000000..4eae4a0ee5 --- /dev/null +++ b/docs/gst/tmpl/gstextratypes.sgml @@ -0,0 +1,23 @@ +<!-- ##### 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> + + + diff --git a/docs/gst/tmpl/gstfakesink.sgml b/docs/gst/tmpl/gstfakesink.sgml new file mode 100644 index 0000000000..b0a7392774 --- /dev/null +++ b/docs/gst/tmpl/gstfakesink.sgml @@ -0,0 +1,41 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstfakesrc.sgml b/docs/gst/tmpl/gstfakesrc.sgml new file mode 100644 index 0000000000..8171c549d8 --- /dev/null +++ b/docs/gst/tmpl/gstfakesrc.sgml @@ -0,0 +1,94 @@ +<!-- ##### 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: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> + +<!-- ##### ARG GstFakeSrc:parentsize ##### --> +<para> + +</para> + diff --git a/docs/gst/tmpl/gstfdsink.sgml b/docs/gst/tmpl/gstfdsink.sgml new file mode 100644 index 0000000000..a9f7327643 --- /dev/null +++ b/docs/gst/tmpl/gstfdsink.sgml @@ -0,0 +1,21 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstfdsrc.sgml b/docs/gst/tmpl/gstfdsrc.sgml new file mode 100644 index 0000000000..882a451986 --- /dev/null +++ b/docs/gst/tmpl/gstfdsrc.sgml @@ -0,0 +1,31 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstfilesrc.sgml b/docs/gst/tmpl/gstfilesrc.sgml new file mode 100644 index 0000000000..404552b55b --- /dev/null +++ b/docs/gst/tmpl/gstfilesrc.sgml @@ -0,0 +1,51 @@ +<!-- ##### SECTION Title ##### --> +GstFileSrc + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### ARG GstFileSrc:location ##### --> +<para> + +</para> + +<!-- ##### ARG GstFileSrc:filesize ##### --> +<para> + +</para> + +<!-- ##### ARG GstFileSrc:fd ##### --> +<para> + +</para> + +<!-- ##### ARG GstFileSrc:blocksize ##### --> +<para> + +</para> + +<!-- ##### ARG GstFileSrc:offset ##### --> +<para> + +</para> + +<!-- ##### ARG GstFileSrc:mmapsize ##### --> +<para> + +</para> + +<!-- ##### ARG GstFileSrc:touch ##### --> +<para> + +</para> + diff --git a/docs/gst/tmpl/gsthttpsrc.sgml b/docs/gst/tmpl/gsthttpsrc.sgml new file mode 100644 index 0000000000..2ba4a00e8d --- /dev/null +++ b/docs/gst/tmpl/gsthttpsrc.sgml @@ -0,0 +1,16 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstidentity.sgml b/docs/gst/tmpl/gstidentity.sgml new file mode 100644 index 0000000000..defd51ed38 --- /dev/null +++ b/docs/gst/tmpl/gstidentity.sgml @@ -0,0 +1,54 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstinfo.sgml b/docs/gst/tmpl/gstinfo.sgml new file mode 100644 index 0000000000..c108ccd9af --- /dev/null +++ b/docs/gst/tmpl/gstinfo.sgml @@ -0,0 +1,324 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstlog.sgml b/docs/gst/tmpl/gstlog.sgml new file mode 100644 index 0000000000..7605b29b32 --- /dev/null +++ b/docs/gst/tmpl/gstlog.sgml @@ -0,0 +1,16 @@ +<!-- ##### SECTION Title ##### --> +gstlog + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + diff --git a/docs/gst/tmpl/gstmultidisksrc.sgml b/docs/gst/tmpl/gstmultidisksrc.sgml new file mode 100644 index 0000000000..eb3000fd23 --- /dev/null +++ b/docs/gst/tmpl/gstmultidisksrc.sgml @@ -0,0 +1,24 @@ +<!-- ##### 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: + diff --git a/docs/gst/tmpl/gstobject.sgml b/docs/gst/tmpl/gstobject.sgml new file mode 100644 index 0000000000..0e6e97867b --- /dev/null +++ b/docs/gst/tmpl/gstobject.sgml @@ -0,0 +1,303 @@ +<!-- ##### 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::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 + +<!-- ##### SIGNAL GstObject::parent-set ##### --> +<para> + +</para> + +@gstobject: the object which received the signal. +@arg1: the new parent + +<!-- ##### ARG GstObject:name ##### --> +<para> + +</para> + diff --git a/docs/gst/tmpl/gstpad.sgml b/docs/gst/tmpl/gstpad.sgml new file mode 100644 index 0000000000..97d289aff8 --- /dev/null +++ b/docs/gst/tmpl/gstpad.sgml @@ -0,0 +1,955 @@ +<!-- ##### 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_CAN_PULL ##### --> +<para> +Can this pad be used to pull a buffer. +</para> + +@pad: the pad to check + + +<!-- ##### MACRO GST_PAD_IS_SINK ##### --> +<para> + +</para> + +@pad: + + +<!-- ##### MACRO GST_PAD_IS_SRC ##### --> +<para> + +</para> + +@pad: + + +<!-- ##### MACRO GST_PAD_IS_CONNECTED ##### --> +<para> + +</para> + +@pad: + + +<!-- ##### 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 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. + + +<!-- ##### USER_FUNCTION GstPadGetCapsFunction ##### --> +<para> + +</para> + +@pad: +@caps: +@Returns: + + +<!-- ##### 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: + + +<!-- ##### USER_FUNCTION GstPadConnectFunction ##### --> +<para> + +</para> + +@pad: +@caps: +@Returns: + + +<!-- ##### ENUM GstPadConnectReturn ##### --> +<para> + +</para> + +@GST_PAD_CONNECT_REFUSED: +@GST_PAD_CONNECT_OK: +@GST_PAD_CONNECT_DONE: +@GST_PAD_CONNECT_DELAYED: + +<!-- ##### 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_bufferpool_function ##### --> +<para> + +</para> + +@pad: +@bufpool: + + +<!-- ##### FUNCTION gst_pad_set_connect_function ##### --> +<para> + +</para> + +@pad: +@connect: + + +<!-- ##### FUNCTION gst_pad_set_getcaps_function ##### --> +<para> + +</para> + +@pad: +@getcaps: + + +<!-- ##### FUNCTION gst_pad_try_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: +@Returns: + + +<!-- ##### FUNCTION gst_pad_connect_filtered ##### --> +<para> + +</para> + +@srcpad: +@sinkpad: +@filtercaps: +@Returns: + + +<!-- ##### FUNCTION gst_pad_reconnect_filtered ##### --> +<para> + +</para> + +@pad: +@filtercaps: +@Returns: + + +<!-- ##### FUNCTION gst_pad_try_reconnect_filtered ##### --> +<para> + +</para> + +@pad: +@filtercaps: +@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_proxy_connect ##### --> +<para> + +</para> + +@pad: +@caps: +@Returns: + + +<!-- ##### FUNCTION gst_pad_get_padtemplate ##### --> +<para> + +</para> + +@pad: +@Returns: + + +<!-- ##### FUNCTION gst_pad_get_padtemplate_caps ##### --> +<para> + +</para> + +@pad: +@Returns: + + +<!-- ##### FUNCTION gst_pad_get_allowed_caps ##### --> +<para> + +</para> + +@pad: +@Returns: + + +<!-- ##### FUNCTION gst_pad_recalc_allowed_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: +@filter: +@appfilter: +@direction: +@sched: +@sched_private: +@peer: +@bufpen: +@regiontype: +@offset: +@len: +@chainfunc: +@chainhandler: +@getfunc: +@gethandler: +@eventfunc: +@eventhandler: +@getregionfunc: +@pullregionfunc: +@getcapsfunc: +@connectfunc: +@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_FILTER ##### --> +<para> + +</para> + +@pad: + + +<!-- ##### MACRO GST_RPAD_APPFILTER ##### --> +<para> + +</para> + +@pad: + + +<!-- ##### 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_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_RPAD_CONNECTFUNC ##### --> +<para> + +</para> + +@pad: + + +<!-- ##### MACRO GST_RPAD_GETCAPSFUNC ##### --> +<para> + +</para> + +@pad: + + +<!-- ##### MACRO GST_GPAD_REALPAD ##### --> +<para> +Get the real pad of this ghost pad. +</para> + +@pad: the real pad to query. + + +<!-- ##### STRUCT GstGhostPad ##### --> +<para> + +</para> + +@pad: +@realpad: + +<!-- ##### FUNCTION gst_ghost_pad_new ##### --> +<para> + +</para> + +@name: +@pad: +@Returns: + + diff --git a/docs/gst/tmpl/gstpadtemplate.sgml b/docs/gst/tmpl/gstpadtemplate.sgml new file mode 100644 index 0000000000..f91bcf784f --- /dev/null +++ b/docs/gst/tmpl/gstpadtemplate.sgml @@ -0,0 +1,226 @@ +<!-- ##### 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: +@fixed: + +<!-- ##### 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. + + +<!-- ##### MACRO GST_PADTEMPLATE_FIXED ##### --> +<para> + +</para> + +@templ: + + +<!-- ##### MACRO GST_PADTEMPLATE_IS_FIXED ##### --> +<para> + +</para> + +@templ: + + +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstparse.sgml b/docs/gst/tmpl/gstparse.sgml new file mode 100644 index 0000000000..58ef86a314 --- /dev/null +++ b/docs/gst/tmpl/gstparse.sgml @@ -0,0 +1,77 @@ +<!-- ##### 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: +@GST_PARSE_ERROR_INTERNAL: + +<!-- ##### FUNCTION gst_parse_launch ##### --> +<para> + +</para> + +@pipeline_description: +@Returns: +<!-- # Unused Parameters # --> +@cmdline: +@parent: + + +<!-- ##### FUNCTION gst_parse_launchv ##### --> +<para> + +</para> + +@argv: +@Returns: + + diff --git a/docs/gst/tmpl/gstpipefilter.sgml b/docs/gst/tmpl/gstpipefilter.sgml new file mode 100644 index 0000000000..55f1469e74 --- /dev/null +++ b/docs/gst/tmpl/gstpipefilter.sgml @@ -0,0 +1,22 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstpipeline.sgml b/docs/gst/tmpl/gstpipeline.sgml new file mode 100644 index 0000000000..d47ff73fcd --- /dev/null +++ b/docs/gst/tmpl/gstpipeline.sgml @@ -0,0 +1,46 @@ +<!-- ##### 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 + + diff --git a/docs/gst/tmpl/gstplugin.sgml b/docs/gst/tmpl/gstplugin.sgml new file mode 100644 index 0000000000..b04e7d7dbd --- /dev/null +++ b/docs/gst/tmpl/gstplugin.sgml @@ -0,0 +1,269 @@ +<!-- ##### 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> + + + diff --git a/docs/gst/tmpl/gstpluginfeature.sgml b/docs/gst/tmpl/gstpluginfeature.sgml new file mode 100644 index 0000000000..03da9d3b32 --- /dev/null +++ b/docs/gst/tmpl/gstpluginfeature.sgml @@ -0,0 +1,33 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstprops.sgml b/docs/gst/tmpl/gstprops.sgml new file mode 100644 index 0000000000..ff8d818cec --- /dev/null +++ b/docs/gst/tmpl/gstprops.sgml @@ -0,0 +1,357 @@ +<!-- ##### 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: +@fixed: +@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_ANY ##### --> +<para> + +</para> + + + +<!-- ##### 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_INT_NEGATIVE ##### --> +<para> + +</para> + + + +<!-- ##### 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 + + +<!-- ##### MACRO GST_PROPS_INT_POSITIVE ##### --> +<para> + +</para> + + + +<!-- ##### MACRO GST_PROPS_ENTRY_IS_VARIABLE ##### --> +<para> + +</para> + +@a: + + +<!-- ##### 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_has_property ##### --> +<para> + +</para> + +@props: +@name: +@Returns: + + +<!-- ##### FUNCTION gst_props_normalize ##### --> +<para> + +</para> + +@props: +@Returns: + + +<!-- ##### 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_intersect ##### --> +<para> + +</para> + +@props1: +@props2: +@Returns: + + +<!-- ##### FUNCTION gst_props_debug ##### --> +<para> + +</para> + +@props: + + +<!-- ##### FUNCTION gst_props_save_thyself ##### --> +<para> + +</para> + +@props: +@parent: +@Returns: + + +<!-- ##### FUNCTION gst_props_load_thyself ##### --> +<para> + +</para> + +@parent: +@Returns: + + diff --git a/docs/gst/tmpl/gstqueue.sgml b/docs/gst/tmpl/gstqueue.sgml new file mode 100644 index 0000000000..a8e74dd245 --- /dev/null +++ b/docs/gst/tmpl/gstqueue.sgml @@ -0,0 +1,48 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstreamer-unused.sgml b/docs/gst/tmpl/gstreamer-unused.sgml new file mode 100644 index 0000000000..55504ee4e5 --- /dev/null +++ b/docs/gst/tmpl/gstreamer-unused.sgml @@ -0,0 +1,5591 @@ +<!-- ##### SECTION ./tmpl/GstElement.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/GstElement.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/GstElement.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/GstElement.sgml:Title ##### --> +GstElement + + +<!-- ##### SECTION ./tmpl/audioraw.sgml:Long_Description ##### --> +<para> +Information about audio buffers. +</para> + + +<!-- ##### SECTION ./tmpl/audioraw.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/audioraw.sgml:Short_Description ##### --> +Information about audio buffers. + + +<!-- ##### SECTION ./tmpl/audioraw.sgml:Title ##### --> +audioraw + + +<!-- ##### SECTION ./tmpl/gstasyncdisksrc.sgml:Long_Description ##### --> +<para> +Reads data from a file. You can seek to a specific location by setting +the offset. +</para> + + +<!-- ##### SECTION ./tmpl/gstasyncdisksrc.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstasyncdisksrc.sgml:Title ##### --> +GstAsyncDiskSrc + + +<!-- ##### SECTION ./tmpl/gstaudiosink.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstaudiosink.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstaudiosink.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/gstaudiosink.sgml:Title ##### --> +GstAudioSink + + +<!-- ##### SECTION ./tmpl/gstaudiosrc.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstaudiosrc.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstaudiosrc.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/gstaudiosrc.sgml:Title ##### --> +GstAudioSrc + + +<!-- ##### SECTION ./tmpl/gstcolorspace.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstcolorspace.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstcolorspace.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/gstcolorspace.sgml:Title ##### --> +GstColorSpace + + +<!-- ##### SECTION ./tmpl/gstconnection.sgml:Long_Description ##### --> +<para> +A connection is a bas class for a generic connection between +elements. A connection is typically a bas class for queues. + +</para> + + +<!-- ##### SECTION ./tmpl/gstconnection.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstconnection.sgml:Short_Description ##### --> +Generic connection between elements. + + +<!-- ##### SECTION ./tmpl/gstconnection.sgml:Title ##### --> +GstConnection + + +<!-- ##### SECTION ./tmpl/gstdisksrc.sgml:Long_Description ##### --> +<para> +Asynchonously read buffers from a file. + +</para> + + +<!-- ##### SECTION ./tmpl/gstdisksrc.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstdisksrc.sgml:Short_Description ##### --> +Asynchronous read from a file (disksrc) + + +<!-- ##### SECTION ./tmpl/gstdisksrc.sgml:Title ##### --> +GstDiskSrc + + +<!-- ##### SECTION ./tmpl/gstesdsink.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstesdsink.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstesdsink.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/gstesdsink.sgml:Title ##### --> +GstEsdSink + + +<!-- ##### SECTION ./tmpl/gstfilter.sgml:Long_Description ##### --> +<para> +Filters take data in and spit data out. They are the main Element in a filter graph. +Filters have zero or more inputs and zero or more outputs. Filters are connected +together to form filter graphs. A GstFilter is the base class and is not very usefull +on its own. +</para> + + +<!-- ##### SECTION ./tmpl/gstfilter.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstfilter.sgml:Short_Description ##### --> +Take data in and spit data out + + +<!-- ##### SECTION ./tmpl/gstfilter.sgml:Title ##### --> +GstFilter + + +<!-- ##### SECTION ./tmpl/gstgetbits.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstgetbits.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstgetbits.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/gstgetbits.sgml:Title ##### --> +GstGetbits + + +<!-- ##### SECTION ./tmpl/gsthttpsrc.sgml:Long_Description ##### --> +<para> +Reads data from a URL. +</para> + + +<!-- ##### SECTION ./tmpl/gsthttpsrc.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gsthttpsrc.sgml:Short_Description ##### --> +Reads data from a URL. (httpsrc) + + +<!-- ##### SECTION ./tmpl/gsthttpsrc.sgml:Title ##### --> +GstHttpSrc + + +<!-- ##### SECTION ./tmpl/gstmeta.sgml:Long_Description ##### --> +<para> +The point of the metadata is to provide some context for each buffer. In +the case of audio data, for instance, it would provide the samplerate, bit +depth, and channel count. +</para> + +<para> +The trick is that there may be multiple types of metadata ganged onto a +single buffer. This is why they're going to be a GList. This does mean +extra overhead in all cases, but I think it's minimal. The GList type +uses a chunk allocater so we're not wasting too much memory or time when +adding to the list. +</para> + +<para> +The trick is dealing with these structs as they pass through a pipeline, +since they have potentially different mutability properties. For +instance, if you've got a mp3 decoder connected to a tee, which sends the +buffers off to both the decoder and a spectrum analyzer (and then a +visualization element). The preferred setup would be where every time a +audio/raw metadata comes down the pipe (indicating a potential change in +audio format), the audiosink and spectrum would just save off pointers. +</para> + +<para> +So when exactly does this metadata go away (deallocated)? Well, that +means metadata has to be refcounted. But that gets rather hairy. OK, in +the simple case you create a metadata struct, it comes with refcount set +to 1. You pass it through, it stays one, eventually someone drops the +last reference on the buffer it's tied to, you free the metadata too. +Easy. What if you tee? You could go through and for every metadata in +the buffer, increment the refcount by the same as the buffer. So in the +above case (tee'd), the audiosink and spectrum would get the buffer with a +refcount of 2, and it'd have a metadata with refcount 2. Do they ref it +each themselves, then unref the buffer? Or do they remove the metadata? +Removing the metadata would require a buffer CoW, which would suck, so +yes, they'd just ref the metadata. +</para> + +<para> +But.... what if they're all in different threads? Then we're off into +the magical world of mutexes. Everything with a refcount in a threaded +world must be mutexed, else you can do atomic increment and atomic +dec and test. Can this be done from C easily? Perhaps it needs to be found +from kernel includes via autoconf? +</para> + +<para> +The goal in designing the way metadata will be defined and used is to keep +it as simple as possible. The basis for accomplishing this is the fact +that in order to actually use (rather than just pass) the metadata, you +have to know what the fields are, which means you have to have compiled in +support for that metadata at build time. Therefore, if you're using +metadata, you must have build-time access to the necessary include file +that defines it. +</para> + +<para> +So, given that you've got an include file, it would be nice if the whole +thing could be contained there. This would limit the need to be linked +against something, or have load-time requirements as to that has to be +loaded before you are. +</para> + +<para> +Given that really all metadata is is a region of memory of a given size +with a certain signature, this isn't all that hard. First you lay out the +struct that defines the metadata. Then you set up #defines that expand to +the size of the struct in question, as well as the four-cc code that +defines the type. +</para> + +<para> +The work is done by a few #defines, a la the #defines used in all Gtk +objects. The first is a NEW() method that allocates the memory for the +metadata and fills in all the normal fields (type, size, utility +functions). Because of the way it's defined (as a #define, no less), +you'll have to invoke it as META_NEW(meta), since it can't return() +anything. +</para> + +<para> +Another #define will check to make sure a meta is indeed that type by +verifying the type code and size. Theoretically, meta types can overlap +with the same fourcc code, as long as they have different sizes. But I +probably ought to have a global public registry so people writing things +don't conflict. MSFT got that right, at least. +</para> + +<para> +So, a hairy problem is what to do when there are utility functions +associated with one of these things. One option is to not bother with +them. This is very likely a possible solution, since metadata is supposed +to be flat memory of a given size. Not much to do to either free or copy +it, is there? +</para> + + +<!-- ##### SECTION ./tmpl/gstmeta.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstmeta.sgml:Short_Description ##### --> +Provide context for buffers + + +<!-- ##### SECTION ./tmpl/gstmeta.sgml:Title ##### --> +GstMeta + + +<!-- ##### SECTION ./tmpl/gstsinesrc.sgml:Long_Description ##### --> +<para> +Create a sine wave of a given frequency and volume. +</para> + + +<!-- ##### SECTION ./tmpl/gstsinesrc.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstsinesrc.sgml:Short_Description ##### --> +Create a sine wave of a given frequency and volume. (sinesrc) + + +<!-- ##### SECTION ./tmpl/gstsinesrc.sgml:Title ##### --> +GstSineSrc + + +<!-- ##### SECTION ./tmpl/gstsink.sgml:Long_Description ##### --> +<para> +The sink is the end of the filter graph. A typical sink would be an audio +or a video card. + +</para> + + +<!-- ##### SECTION ./tmpl/gstsink.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstsink.sgml:Short_Description ##### --> +The end point of a filter graph + + +<!-- ##### SECTION ./tmpl/gstsink.sgml:Title ##### --> +GstSink + + +<!-- ##### SECTION ./tmpl/gstsrc.sgml:Long_Description ##### --> +<para> +A GstSrc is the start of a filter graph. It typically is a file or an +audio source. It provides data for the next element in the graph. + +</para> + + +<!-- ##### SECTION ./tmpl/gstsrc.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/gstsrc.sgml:Short_Description ##### --> +The start point of a filter graph + + +<!-- ##### SECTION ./tmpl/gstsrc.sgml:Title ##### --> +GstSrc + + +<!-- ##### SECTION ./tmpl/plugin.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/plugin.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/plugin.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/plugin.sgml:Title ##### --> +plugin + + +<!-- ##### SECTION ./tmpl/spectrum.sgml:Long_Description ##### --> +<para> +Frequencies of a spectrum analysis. + +</para> + + +<!-- ##### SECTION ./tmpl/spectrum.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/spectrum.sgml:Short_Description ##### --> +Frequencies of a spectrum analysis. + + +<!-- ##### SECTION ./tmpl/spectrum.sgml:Title ##### --> +spectrum + + +<!-- ##### SECTION ./tmpl/videoraw.sgml:Long_Description ##### --> +<para> +Information about video buffers. +</para> + + +<!-- ##### SECTION ./tmpl/videoraw.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/videoraw.sgml:Short_Description ##### --> +Information about video buffers. + + +<!-- ##### SECTION ./tmpl/videoraw.sgml:Title ##### --> +videoraw + + +<!-- ##### MACRO COTHREAD_MAXTHREADS ##### --> +<para> +The maximum number of cothreads we are going to support. +</para> + + +<!-- ##### MACRO COTHREAD_STACKSIZE ##### --> +<para> +The default stack size of a cothread. +</para> + + +<!-- ##### MACRO DEBUG ##### --> +<para> +Use this macro to show debugging info. This is only usefull when developing new +plugin elements. +If you #define DEBUG_ENABLED before including gst/gst.h, this macro will produce +g_print messages. +</para> + +@format: the format specification as in g_print +@args...: arguments + +<!-- ##### MACRO DEBUG_ENTER ##### --> +<para> + +</para> + +@format: +@args...: + +<!-- ##### MACRO DEBUG_ENTER_STRING ##### --> +<para> + +</para> + + +<!-- ##### MACRO DEBUG_LEAVE ##### --> +<para> + +</para> + +@format: +@args...: + +<!-- ##### MACRO DEBUG_LEAVE_STRING ##### --> +<para> + +</para> + + +<!-- ##### MACRO DEBUG_NOPREFIX ##### --> +<para> + +</para> + +@format: +@args...: + +<!-- ##### MACRO DEBUG_SET_STRING ##### --> +<para> + +</para> + +@format: +@args...: + +<!-- ##### MACRO ERROR ##### --> +<para> + +</para> + +@element: +@format: +@args...: + +<!-- ##### MACRO ERROR_OBJECT ##### --> +<para> + +</para> + +@element: +@object: +@format: +@args...: + +<!-- ##### MACRO GBaseInitFunc ##### --> +<para> + +</para> + + +<!-- ##### MACRO GCallback ##### --> +<para> + +</para> + + +<!-- ##### MACRO GClassInitFunc ##### --> +<para> + +</para> + + +<!-- ##### MACRO GEnumValue ##### --> +<para> + +</para> + + +<!-- ##### MACRO GInstanceInitFunc ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GObject ##### --> +<para> + +</para> + + +<!-- ##### MACRO GParamFlags ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GParamSpec ##### --> +<para> + +</para> + +@name: +@value_type: +@flags: + +<!-- ##### MACRO GST_ASYNCDISKSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_ASYNCDISKSRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_AUDIOSINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_AUDIOSINK_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_AUDIOSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_AUDIOSRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_BIN ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_BIN_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_BUFFER_POOL ##### --> +<para> + +</para> + +@buf: + +<!-- ##### MACRO GST_BUFFER_TYPE ##### --> +<para> +Retrieves the type id of the data in the buffer. +</para> + +@buf: GstBuffer + +<!-- ##### MACRO GST_CONNECTION ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_CONNECTION_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_CPU_FLAG_MMX ##### --> +<para> +A flag indicating that MMX instructions are supported. +</para> + + +<!-- ##### MACRO GST_CPU_FLAG_SSE ##### --> +<para> +A flag indicating that SSE instructions are supported. +</para> + + +<!-- ##### MACRO GST_DATA ##### --> +<para> + +</para> + +@data: + +<!-- ##### MACRO GST_DATA_TYPE ##### --> +<para> + +</para> + +@data: + +<!-- ##### MACRO GST_DEBUG_CHAR_MODE ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_DEBUG_ENABLED ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_DEBUG_ENABLE_CATEGORIES ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_DEBUG_ENTER_STRING ##### --> +<para> +Combine #GST_DEBUG_ENTER and #GST_DEBUG_SET_STRING. +</para> + + +<!-- ##### MACRO GST_DEBUG_LEAVE_STRING ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_DEBUG_NOPREFIX ##### --> +<para> + +</para> + +@cat: +@format: +@args...: + +<!-- ##### MACRO GST_DEBUG_PREFIX ##### --> +<para> + +</para> + +@cat: +@format: +@args...: + +<!-- ##### MACRO GST_DEBUG_SET_STRING ##### --> +<para> +Set the debug string for the current function, typically containing the arguments +to the current function, i.e. "('element')" +</para> + +@format: printf-style format string +@args...: printf arguments + +<!-- ##### MACRO GST_DISKSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_DISKSRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_ELEMENT ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_ELEMENT_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_ELEMENT_IS_COTHREAD_STOPPING ##### --> +<para> +Queries whether the cothread holding this element needs to be stopped. +</para> + +@obj: The element to query + +<!-- ##### MACRO GST_ELEMENT_IS_MULTI_IN ##### --> +<para> +Query whether this object has multiple input pads. + +</para> + +@obj: Element to query for multiple input pads. + +<!-- ##### MACRO GST_ESDSINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_ESDSINK_CLASS ##### --> +<para> + +</para> + +@klass: <<<<<<< gstreamer-unused.sgml + +<!-- ##### MACRO GST_FAKESINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_FAKESINK_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_FAKESRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_FAKESRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_FDSINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_FDSINK_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_FDSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_FDSRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_FILTER ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_FILTER_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_FILTER_FLAG_LAST ##### --> +<para> +subclass use this to start their flag enumeration +</para> + + +<!-- ##### MACRO GST_HTTPSRC ##### --> +>>>>>>> 1.23.2.3 +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_HTTPSRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_IDENTITY ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IDENTITY_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_IS_ASYNCDISKSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_ASYNCDISKSRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_AUDIOSINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_AUDIOSINK_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_AUDIOSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_AUDIOSRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_BIN ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_BIN_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_CONNECTION ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_CONNECTION_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_DISKSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_DISKSRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_ELEMENT ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_ELEMENT_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_ESDSINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_ESDSINK_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FAKESINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FAKESINK_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FAKESRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FAKESRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FDSINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FDSINK_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FDSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FDSRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FILTER ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_FILTER_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_HTTPSRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_HTTPSRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_IDENTITY ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_IDENTITY_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_OBJECT ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_OBJECT_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_PAD ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_PAD_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_PIPELINE ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_PIPELINE_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_QUEUE ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_QUEUE_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_SINESRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_SINESRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_SINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_SINK_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_SRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_SRC_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_TEE ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_TEE_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_THREAD ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_IS_THREAD_CLASS ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_META ##### --> +<para> + +</para> + +@meta: + +<!-- ##### MACRO GST_META_FLAGS ##### --> +<para> +Retrieve the flags of the given meta information. +</para> + +@meta: the meta information + +<!-- ##### MACRO GST_META_FLAG_IS_SET ##### --> +<para> +Check if a given flag is set. +</para> + +@meta: the meta data to test +@flag: the flag to test + +<!-- ##### MACRO GST_META_FLAG_SET ##### --> +<para> +Set a flag in the meta data. +</para> + +@meta: the meta data +@flag: the flag to set + +<!-- ##### MACRO GST_META_FLAG_UNSET ##### --> +<para> +Clear a flag in the meta data. +</para> + +@meta: the meta data +@flag: the flag to clear + +<!-- ##### MACRO GST_OBJECT ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_OBJECT_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_OBJECT_FLAG_LAST ##### --> +<para> +subclasses can use this value to start the enumeration of their flags +</para> + + +<!-- ##### MACRO GST_PAD ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_PAD_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_PAD_CONNECTED ##### --> +<para> +Is this pad connected. +</para> + +@pad: the pad to check + +<!-- ##### MACRO GST_PAD_FACTORY_ALWAYS ##### --> +<para> +Indicate that this pad will always be available. +Use this in the factory definition. +</para> + + +<!-- ##### MACRO GST_PAD_FACTORY_CAPS ##### --> +<para> +Starts the declaration of a the capabilities for this padtemplate. +</para> + +@a...: a capability factory + +<!-- ##### MACRO GST_PAD_FACTORY_REQUEST ##### --> +<para> +Indicates that this pad will be available on request. Use +this in the factory definition. +</para> + + +<!-- ##### MACRO GST_PAD_FACTORY_SINK ##### --> +<para> +Indicates a sinkpad for the padfactory. +</para> + + +<!-- ##### MACRO GST_PAD_FACTORY_SOMETIMES ##### --> +<para> +Indicate that this pad will become available depending +on the media type. Use this in the factory definition. +</para> + + +<!-- ##### MACRO GST_PAD_FACTORY_SRC ##### --> +<para> +Indicates a srcpad for the padfactory. +</para> + + +<!-- ##### MACRO GST_PIPELINE ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_PIPELINE_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_PROPS_BOOL_ID ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_PROPS_FLOAT_RANGE_STRING ##### --> +<para> + +</para> + +@a: +@b: + +<!-- ##### MACRO GST_PROPS_FLOAT_STRING ##### --> +<para> + +</para> + +@a: + +<!-- ##### MACRO GST_PROPS_FOURCC_ID ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_PROPS_FOURCC_INT ##### --> +<para> +Create a fourcc property out of an integer value. +</para> + +@a: the integer value + +<!-- ##### MACRO GST_PROPS_INT_ID ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_PROPS_INT_RANGE_ID ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_PROPS_LIST_ID ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_QUEUE ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_QUEUE_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_RPAD_EOSFUNC ##### --> +<para> +Get the EOS function of the real pad. +</para> + +@pad: the real pad to query. + +<!-- ##### MACRO GST_RPAD_NEGOTIATEFUNC ##### --> +<para> +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_PULLFUNC ##### --> +<para> +Get the pullfunction of the real pad. +</para> + +@pad: the real pad to query. + +<!-- ##### MACRO GST_RPAD_PUSHFUNC ##### --> +<para> +Get the pushfunction of the real pad. +</para> + +@pad: the real pad to query. + +<!-- ##### MACRO GST_RPAD_QOSFUNC ##### --> +<para> +Get the QoS function of the real pad. +</para> + +@pad: the real pad to query. + +<!-- ##### MACRO GST_SCHEDULE_ADD_ELEMENT ##### --> +<para> +Fast macro to add an element to the scheduler. +</para> + +@sched: The scheduler to add the element to. +@element: The element to add to the scheduler. + +<!-- ##### MACRO GST_SCHEDULE_DISABLE_ELEMENT ##### --> +<para> +Fast macro to disable the element. +</para> + +@sched: The scheduler. +@element: The element to disable. + +<!-- ##### MACRO GST_SCHEDULE_ENABLE_ELEMENT ##### --> +<para> +Fast macro to enable the element in the scheduler. +</para> + +@sched: The scheduler. +@element: The element to activate. + +<!-- ##### MACRO GST_SCHEDULE_ITERATE ##### --> +<para> +Fast macro to perform one iteration of the scheduler. +</para> + +@sched: The scheduler to iterate. + +<!-- ##### MACRO GST_SCHEDULE_LOCK_ELEMENT ##### --> +<para> +Fast macro to lock a given element. +</para> + +@sched: The scheduler. +@element: The element to lock. + +<!-- ##### MACRO GST_SCHEDULE_PAD_CONNECT ##### --> +<para> +Fast macro to connect two pads. +</para> + +@sched: The scheduler. +@srcpad: The source pad. +@sinkpad: The sink pad. + +<!-- ##### MACRO GST_SCHEDULE_PAD_DISCONNECT ##### --> +<para> +Fast macro to disconnect two pads. +</para> + +@sched: The scheduler. +@srcpad: The source pad. +@sinkpad: The sink pad. + +<!-- ##### MACRO GST_SCHEDULE_REMOVE_ELEMENT ##### --> +<para> +Fast macro to remove an element from the scheduler. +</para> + +@sched: The scheduler to remove the element from. +@element: The element to remove from the scheduler. + +<!-- ##### MACRO GST_SCHEDULE_SAFETY ##### --> +<para> +Handy macro to check for a non NULL scheduler. The next block of statements +will only be axecuted if the scheduler is not NULL. +</para> + +@sched: the scheduler to query. + +<!-- ##### MACRO GST_SCHEDULE_UNLOCK_ELEMENT ##### --> +<para> +Fast macro to unlock a given element. +</para> + +@sched: The scheduler. +@element: The element to unlock. + +<!-- ##### MACRO GST_SCHED_PARENT ##### --> +<para> +Get the parent #GstElement of this scheduler. + +</para> + +@sched: the scheduler to query. + +<!-- ##### MACRO GST_SHOW_INFO ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_SINESRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_SINESRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_SINK ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_SINK_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_SINK_FLAG_LAST ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_SRC ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_SRC_ASYNC ##### --> +<para> +This macro checks to see if the GST_SRC_ASYNC flag is set. +</para> + +@obj: GstSrc to check for flag in. + +<!-- ##### MACRO GST_SRC_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_SRC_FLAGS ##### --> +<para> +This macro returns the entire set of flags for the object. +</para> + +@obj: GstSrc to return flags for. + +<!-- ##### MACRO GST_SRC_IS_ASYNC ##### --> +<para> +Query a GstSrc for the ASYNC flag +</para> + +@obj: The GstSrc to query + +<!-- ##### MACRO GST_SRC_SET_FLAGS ##### --> +<para> +This macro sets the given flags. +</para> + +@src: +@flag: Flag to set, can by any number of bits in guint32. +@obj: GstSrc to set flag in. + +<!-- ##### MACRO GST_SRC_UNSET_FLAGS ##### --> +<para> +This macro usets the given flags. +</para> + +@src: +@flag: Flag to set, must be a single bit in guint32. +@obj: GstSrc to unset flag in. + +<!-- ##### MACRO GST_STATE_IS_SET ##### --> +<para> +This macro checks to see if the given state is set. +</para> + +@obj: Element to check for state. +@flag: State to check for, must be a single bit in guint32. + +<!-- ##### MACRO GST_STATE_PLAYING_TO_READY ##### --> +<para> +The Element is going from the PLAYING state to the READY state. +</para> + + +<!-- ##### MACRO GST_STATE_READY_TO_PLAYING ##### --> +<para> +The Element is going from the READY state to the PLAYING state. +</para> + + +<!-- ##### MACRO GST_STATE_SET ##### --> +<para> +This macro sets the given state on the element. +</para> + +@obj: Element to set state of. +@flag: State to set, can be any number of bits in guint32. + +<!-- ##### MACRO GST_STATE_UNSET ##### --> +<para> +This macro unsets the given state on the element. +</para> + +@obj: Element to unset state of. +@flag: State to unset, can be any number of bits in guint32. + +<!-- ##### MACRO GST_TEE ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_TEE_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_THREAD ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO GST_THREAD_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO GST_TYPE_ASYNCDISKSRC ##### --> +>>>>>>> 1.23.2.3 +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_AUDIOSINK ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_AUDIOSRC ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_BIN ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_CONNECTION ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_DISKSRC ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_ELEMENT ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_ESDSINK ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_FAKESINK ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_FAKESRC ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_FDSINK ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_FDSRC ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_FILTER ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_HTTPSRC ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_IDENTITY ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_OBJECT ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_PAD ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_PIPELINE ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_QUEUE ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_SINESRC ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_SINK ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_SRC ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_TEE ##### --> +<para> + +</para> + + +<!-- ##### MACRO GST_TYPE_THREAD ##### --> +<para> + +</para> + + +<!-- ##### MACRO GType ##### --> +<para> + +</para> + + +<!-- ##### MACRO GTypeFlags ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GTypeInfo ##### --> +<para> + +</para> + +@class_size: +@base_init: +@base_finalize: +@class_init: +@class_finalize: +@class_data: +@instance_size: +@n_preallocs: +@instance_init: +@value_table: + +<!-- ##### MACRO GValue ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_BEGIN_DECLS ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_CALLBACK ##### --> +<para> + +</para> + +@f: + +<!-- ##### MACRO G_E ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_END_DECLS ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_IS_PARAM_SPEC_ENUM ##### --> +<para> + +</para> + +@pspec: + +<!-- ##### MACRO G_LN10 ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_LN2 ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_MAXUINT ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_MAXULONG ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_OBJECT ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO G_OBJECT_CLASS_TYPE ##### --> +<para> + +</para> + +@gclass: + +<!-- ##### MACRO G_OBJECT_TYPE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_OBJECT_WARN_INVALID_PROPERTY_ID ##### --> +<para> + +</para> + +@a: +@b: +@c: + +<!-- ##### MACRO G_PARAM_READABLE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_PARAM_READWRITE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_PARAM_WRITABLE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_PI ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_PI_2 ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_PI_4 ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_SIGNAL_NO_HOOKS ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_SIGNAL_NO_RECURSE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_SIGNAL_RUN_CLEANUP ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_SIGNAL_RUN_FIRST ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_SIGNAL_RUN_LAST ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_SQRT2 ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_BOOLEAN ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_BOXED ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_CHAR ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_CHECK_CLASS_CAST ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_CHECK_CLASS_TYPE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_CAST ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_TYPE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_DOUBLE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_ENUM ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_FLAGS ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_FLAG_ABSTRACT ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_FLOAT ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_FROM_CLASS ##### --> +<para> + +</para> + +@klass: + +<!-- ##### MACRO G_TYPE_INSTANCE_GET_CLASS ##### --> +<para> + +</para> + +@o: +@t: +@c: + +<!-- ##### MACRO G_TYPE_INT ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_LONG ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_NONE ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_PARAM ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_POINTER ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_STRING ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_UCHAR ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_UINT ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_TYPE_ULONG ##### --> +<para> + +</para> + + +<!-- ##### MACRO G_VALUE_HOLDS_BOOLEAN ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_CHAR ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_DOUBLE ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_FLOAT ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_INT ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_LONG ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_POINTER ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_STRING ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_UCHAR ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_UINT ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_HOLDS_ULONG ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO G_VALUE_TYPE ##### --> +<para> + +</para> + +@v: + +<!-- ##### STRUCT GstAsyncDiskSrc ##### --> +<para> + +</para> + + +<!-- ##### ARG GstAsyncDiskSrc:bytesperread ##### --> +<para> +Specify how many bytes to read at a time. +</para> + + +<!-- ##### ARG GstAsyncDiskSrc:length ##### --> +<para> +Get the size of the current file. +</para> + + +<!-- ##### ARG GstAsyncDiskSrc:location ##### --> +<para> +Specify the location of the file to read. +</para> + + +<!-- ##### ARG GstAsyncDiskSrc:offset ##### --> +<para> +Specify the current offset in the file. +</para> + + +<!-- ##### ARG GstAsyncDiskSrc:size ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstAsyncDiskSrcClass ##### --> +<para> + +</para> + + +<!-- ##### ENUM GstAsyncDiskSrcFlags ##### --> +<para> +<informaltable pgwide=1 frame="none" role="enum"> +<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*"> +<tbody> +<row> +<entry>GST_ASYNCDISKSRC_OPEN</entry> +<entry>the asyncdisksrc is open for reading</entry> +</row> + +</tbody></tgroup></informaltable> + +</para> + +@GST_ASYNCDISKSRC_OPEN: +@GST_ASYNCDISKSRC_FLAG_LAST: + +<!-- ##### STRUCT GstAudioSink ##### --> +<para> + +</para> + + +<!-- ##### SIGNAL GstAudioSink::handoff ##### --> +<para> +The buffer is sent to the sound card. +</para> + +@gstaudiosink: the object which received the signal. +@arg1: the audiosink. + +<!-- ##### ARG GstAudioSink:channels ##### --> +<para> + +</para> + + +<!-- ##### ARG GstAudioSink:format ##### --> +<para> + +</para> + + +<!-- ##### ARG GstAudioSink:frequency ##### --> +<para> + +</para> + + +<!-- ##### ARG GstAudioSink:mute ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstAudioSinkClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstAudioSrc ##### --> +<para> + +</para> + + +<!-- ##### ARG GstAudioSrc:bytes-per-read ##### --> +<para> +The number of bytes per read. +</para> + + +<!-- ##### ARG GstAudioSrc:channels ##### --> +<para> +The number of channels (mono, stereo, ...) +</para> + + +<!-- ##### ARG GstAudioSrc:curoffset ##### --> +<para> +Get the current number of bytes read. +</para> + + +<!-- ##### ARG GstAudioSrc:format ##### --> +<para> +The audio format as defined in soundcard.h +</para> + + +<!-- ##### ARG GstAudioSrc:frequency ##### --> +<para> +The frequency. +</para> + + +<!-- ##### STRUCT GstAudioSrcClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstBinClass ##### --> +<para> + +</para> + + +<!-- ##### USER_FUNCTION GstBufferPoolCreateFunction ##### --> +<para> +The function called when a buffer has to be created for this pool. +</para> + +@pool: the pool from which to create the buffer +@user_data: any user data +@Returns: a new buffer from the pool + +<!-- ##### USER_FUNCTION GstBufferPoolDestroyFunction ##### --> +<para> +This function will be called when the given buffer has to be returned to +the pool. +</para> + +@pool: the pool to return the buffer to +@buffer: the buffer to return +@user_data: any user data + +<!-- ##### ENUM GstCapsDefinition ##### --> +<para> + +</para> + +@GST_CAPS_ALWAYS: +@GST_CAPS_MAYBE: + +<!-- ##### TYPEDEF GstCapsFactory ##### --> +<para> + +</para> + + +<!-- ##### TYPEDEF GstCapsFactoryEntry ##### --> +<para> + +</para> + + +<!-- ##### TYPEDEF GstCapsFactory[] ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstConnection ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstConnectionClass ##### --> +<para> + +</para> + + +<!-- ##### SIGNAL GstDiskSink::handoff ##### --> +<para> +Is emited after the buffer has been written to the disk. +</para> + +@gstdisksink: the object which received the signal. + +<!-- ##### ARG GstDiskSink:closed ##### --> +<para> + +</para> + + +<!-- ##### ARG GstDiskSink:location ##### --> +<para> +The filename to write to. +</para> + + +<!-- ##### STRUCT GstDiskSrc ##### --> +<para> + +</para> + + +<!-- ##### ARG GstDiskSrc:bytesperread ##### --> +<para> +Specify how many bytes to read at a time. +</para> + + +<!-- ##### ARG GstDiskSrc:filesize ##### --> +<para> + +</para> + + +<!-- ##### ARG GstDiskSrc:location ##### --> +<para> +Specify the location of the file to read. +</para> + + +<!-- ##### ARG GstDiskSrc:offset ##### --> +<para> +Get/set the current offset in the file. +</para> + + +<!-- ##### ARG GstDiskSrc:size ##### --> +<para> +Get the size of the file. +</para> + + +<!-- ##### STRUCT GstDiskSrcClass ##### --> +<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: + +<!-- ##### SIGNAL GstElement::ghost-pad-removed ##### --> +<para> + +</para> + +@gstelement: the object which received the signal. +@arg1: The ghost pad that was removed. + +<!-- ##### SIGNAL GstElement::new-ghost-pad ##### --> +<para> + +Is trigered whenever a new ghost pad is added to an element +</para> + +@gstelement: the object which received the signal. +@arg1: the new ghost pad that was added + +<!-- ##### STRUCT GstElementClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstElementFactory ##### --> +<para> +This factory is used when registering the element, and contains the name +of the element, the GtkType value for it, as well as a pointer to the +GstElementDetails struct for the element. +</para> + + +<!-- ##### STRUCT GstEsdSink ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstEsdSinkClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFakeSink ##### --> +<para> + +</para> + + +<!-- ##### ARG GstFakeSink:num-sources ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFakeSinkClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFakeSrc ##### --> +<para> + +</para> + + +<!-- ##### ARG GstFakeSrc:patern ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFakeSrcClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFdSink ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFdSinkClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFdSrc ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFdSrcClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFilter ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstFilterClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstHttpSrc ##### --> +<para> + +</para> + + +<!-- ##### ARG GstHttpSrc:bytesperread ##### --> +<para> +Specify how many bytes to read at a time. + +</para> + + +<!-- ##### ARG GstHttpSrc:location ##### --> +<para> +Specify the location of the file. The location must be a fully qualified URL. +</para> + + +<!-- ##### STRUCT GstHttpSrcClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstIdentity ##### --> +<para> + +</para> + + +<!-- ##### ARG GstIdentity:control ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstIdentityClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstMeta ##### --> +<para> + +</para> + +@lock: for locking purposes +@flags: the flags of the meta data +@data: the meta data +@size: the size of the meta data + +<!-- ##### ENUM GstMetaFlags ##### --> +<para> +Flags indicating properties about the meta data. +</para> + +@GST_META_FREEABLE: the meta data can be freed + +<!-- ##### STRUCT GstObjectClass ##### --> +<para> + +</para> + + +<!-- ##### ARG GstPad:active ##### --> +<para> +Indicates this pad is active +</para> + + +<!-- ##### STRUCT GstPadClass ##### --> +<para> + +</para> + + +<<<<<<< gstreamer-unused.sgml + + +<!-- ##### USER_FUNCTION GstPadEOSFunction ##### --> +<para> +The function that will be called in an EOS case. +</para> + +@pad: the pad that needs to be set to EOS state +@Returns: TRUE if EOS was successful, FALSE otherwise + +<!-- ##### TYPEDEF GstPadFactoryEntry ##### --> +<para> +Defines an entry for a padfactory. +</para> + + +<!-- ##### TYPEDEF GstPadFactory[] ##### --> +<para> +The padfactory. +</para> + + +<!-- ##### 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 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 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 GstPadPullFunction ##### --> +<para> +The function that will be called when pulling buffers. +</para> + +@pad: the pad to pull +@Returns: a GstBuffer + +<!-- ##### USER_FUNCTION GstPadPushFunction ##### --> +<para> + +The function that will be called when pushing a buffers. +</para> + +@pad: the pad to push +@buf: a GstBuffer to push + +<!-- ##### USER_FUNCTION GstPadQoSFunction ##### --> +<para> +The function that will be called when a QoS message is sent. +</para> + +@pad: the pad that sent the QoS message +@qos_message: the message + +<!-- ##### SIGNAL GstPadTemplate::pad-created ##### --> +<para> + +</para> + +@gstpadtemplate: the object which received the signal. +@arg1: + +<!-- ##### STRUCT GstPipelineClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstPluginElement ##### --> +<para> + +</para> + + +<!-- ##### TYPEDEF GstPropsFactoryEntry ##### --> +<para> + +</para> + + +<!-- ##### TYPEDEF GstPropsFactory[] ##### --> +<para> + +</para> + + +<!-- ##### ENUM GstPropsId ##### --> +<para> + +</para> + +@GST_PROPS_END_ID_NUM: +@GST_PROPS_LIST_ID_NUM: +@GST_PROPS_INT_ID_NUM: +@GST_PROPS_INT_RANGE_ID_NUM: +@GST_PROPS_FOURCC_ID_NUM: +@GST_PROPS_BOOL_ID_NUM: + +<!-- ##### TYPEDEF GstPropsListFactory[] ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstQueue ##### --> +<para> + +</para> + + +<!-- ##### ARG GstQueue:block ##### --> +<para> +Specify wether the queue blocks or not. +</para> + + +<!-- ##### ARG GstQueue:timeout ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstQueueClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstScheduleChain ##### --> +<para> + +</para> + +@sched: +@disabled: +@elements: +@num_elements: +@entry: +@cothreaded_elements: +@schedule: + +<!-- ##### STRUCT GstSineSrc ##### --> +<para> + +</para> + + +<!-- ##### ARG GstSineSrc:buffersize ##### --> +<para> + +</para> + + +<!-- ##### ARG GstSineSrc:channels ##### --> +<para> +The number of channels. +</para> + + +<!-- ##### ARG GstSineSrc:format ##### --> +<para> +The format ad defined in soundcard.h +</para> + + +<!-- ##### ARG GstSineSrc:freq ##### --> +<para> +The frequency. +</para> + + +<!-- ##### ARG GstSineSrc:frequency ##### --> +<para> +The fequency. +</para> + + +<!-- ##### ARG GstSineSrc:samplerate ##### --> +<para> + +</para> + + +<!-- ##### ARG GstSineSrc:tablesize ##### --> +<para> + +</para> + + +<!-- ##### ARG GstSineSrc:volume ##### --> +<para> +The volume as a double 0.0 is silent, 1.0 is loudest. +</para> + + +<!-- ##### STRUCT GstSineSrcClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstSink ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstSinkClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstSrc ##### --> +<para> + +</para> + + +<!-- ##### SIGNAL GstSrc::eos ##### --> +<para> +An eos signal is triggered whenever the GstSrc has reached the end of +the stream. + +</para> + +@gstsrc: the object which received the signal. +@arg1: the object which received the signal + +<!-- ##### STRUCT GstSrcClass ##### --> +<para> + +</para> + + +<!-- ##### ENUM GstSrcFlags ##### --> +<para> +Flags for the GstSrc element +</para> + +@GST_SRC_ASYNC: Indicates that this src is asynchronous +@GST_SRC_FLAG_LAST: subclasses can use this to number their flags + +<!-- ##### STRUCT GstTee ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstTeeClass ##### --> +<para> + +</para> + + +<!-- ##### ARG GstThread:create-thread ##### --> +<para> +TRUE if the thread should be created. + +</para> + + +<!-- ##### STRUCT GstThreadClass ##### --> +<para> + +</para> + + +<!-- ##### STRUCT GstTrace ##### --> +<para> + +</para> + +@filename: +@fd: +@buf: +@bufsize: +@bufoffset: + +<!-- ##### STRUCT GstTraceEntry ##### --> +<para> + +</para> + +@timestamp: +@sequence: +@data: +@message: + +<!-- ##### ARG GstTypeFind:type ##### --> +<para> +Query the element for the current mime type +</para> + + +<!-- ##### SIGNAL GstXML::object-loaded ##### --> +<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 + +<!-- ##### MACRO INFO ##### --> +<para> + +</para> + +@cat: +@format: +@args...: + +<!-- ##### MACRO INFO_ELEMENT ##### --> +<para> + +</para> + +@cat: +@element: +@format: +@args...: + +<!-- ##### STRUCT MetaAudioRaw ##### --> +<para> + +</para> + +@meta: +@format: +@channels: +@frequency: +@bps: + +<!-- ##### STRUCT MetaAudioSpectrum ##### --> +<para> + +</para> + +@meta: +@bands: +@channels: +@interleaved: +@lowfreq: +@highfreq: +@steps: + +<!-- ##### STRUCT MetaDGA ##### --> +<para> + +</para> + +@base: +@swidth: +@sheight: +@bytes_per_line: + +<!-- ##### STRUCT MetaOverlay ##### --> +<para> + +</para> + +@wx: +@wy: +@overlay_element: +@clip_count: +@overlay_clip: +@width: +@height: +@did_overlay: +@fully_obscured: + +<!-- ##### STRUCT MetaVideoRaw ##### --> +<para> + +</para> + +@meta: +@format: +@visual: +@width: +@height: +@overlay_info: +@dga_info: + +<!-- ##### STRUCT OverlayClip ##### --> +<para> + +</para> + +@x1: +@x2: +@y1: +@y2: + +<!-- ##### MACRO STACK_SIZE ##### --> +<para> + +</para> + + +<!-- ##### MACRO TRACE_ENABLE ##### --> +<para> +must be defined to activate the tracing functionality. +</para> + + +<!-- ##### FUNCTION cothread_getcurrent ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION cothread_init ##### --> +<para> +</para> + +@Returns: + +<!-- ##### FUNCTION g2g_object_class_find_property ##### --> +<para> + +</para> + +@oclass: +@name: +@Returns: + +<!-- ##### FUNCTION g2g_object_class_install_property ##### --> +<para> + +</para> + +@oclass: +@property_id: +@pspec: + +<!-- ##### FUNCTION g2g_object_class_list_properties ##### --> +<para> + +</para> + +@oclass: +@n_properties: +@Returns: + +<!-- ##### FUNCTION g2g_object_new ##### --> +<para> + +</para> + +@type: +@blah_varargs_stuff: +@Returns: + +<!-- ##### FUNCTION g2g_object_run_dispose ##### --> +<para> + +</para> + +@object: + +<!-- ##### FUNCTION g2g_param_spec_boolean ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_double ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@min: +@max: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_enum ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@e: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_float ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@min: +@max: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_int ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@min: +@max: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_long ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@min: +@max: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_pointer ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_string ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_uint ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@min: +@max: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_param_spec_ulong ##### --> +<para> + +</para> + +@name: +@nick: +@blurb: +@min: +@max: +@def: +@flags: +@Returns: + +<!-- ##### FUNCTION g2g_signal_new ##### --> +<para> + +</para> + +@signal_name: +@object_type: +@signal_flags: +@function_offset: +@accumulator: +@Returns: + +<!-- ##### FUNCTION g2g_type_register_static ##### --> +<para> + +</para> + +@parent_type: +@type_name: +@info: +@flags: +@Returns: + +<!-- ##### MACRO g_cclosure_marshal_STRING__OBJECT_POINTER ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__BOOLEAN ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__BOXED ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__CHAR ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__DOUBLE ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__ENUM ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__FLAGS ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__FLOAT ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__INT ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__LONG ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__PARAM ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__POINTER ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__STRING ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__UCHAR ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__UINT ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__UINT_POINTER ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__ULONG ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_cclosure_marshal_VOID__VOID ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_enum_register_static ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION g_list_delete_link ##### --> +<para> + +</para> + +@list: +@llink: +@Returns: + +<!-- ##### VARIABLE g_log_domain_gstreamer ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_object_class_find_property ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_object_class_install_property ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_object_class_list_properties ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_object_get_property ##### --> +<para> + +</para> + +@obj: +@argname: +@pspec: + +<!-- ##### FUNCTION g_object_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### MACRO g_object_new ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_object_ref ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO g_object_run_dispose ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_object_set ##### --> +<para> + +</para> + +@o: +@args...: + +<!-- ##### MACRO g_object_unref ##### --> +<para> + +</para> + +@obj: + +<!-- ##### MACRO g_param_spec_boolean ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_double ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_enum ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_float ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_int ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_long ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_pointer ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_string ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_uint ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_param_spec_ulong ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_signal_handler_block ##### --> +<para> + +</para> + +@o: +@id: + +<!-- ##### MACRO g_signal_handler_unblock ##### --> +<para> + +</para> + +@o: +@id: + +<!-- ##### MACRO g_signal_handlers_destroy ##### --> +<para> + +</para> + +@x: + +<!-- ##### FUNCTION g_signal_list_ids ##### --> +<para> + +</para> + +@type: +@n_ids: +@Returns: + +<!-- ##### MACRO g_signal_lookup ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_signal_new ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION g_slist_delete_link ##### --> +<para> + +</para> + +@list: +@llink: +@Returns: + +<!-- ##### MACRO g_string_printf ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_string_printfa ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_type_class_peek_parent ##### --> +<para> + +</para> + +@c: + +<!-- ##### MACRO g_type_class_ref ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_type_class_unref ##### --> +<para> + +</para> + +@c: + +<!-- ##### MACRO g_type_from_name ##### --> +<para> + +</para> + +@t: + +<!-- ##### MACRO g_type_init ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_type_is_a ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_type_name ##### --> +<para> + +</para> + +@t: + +<!-- ##### MACRO g_type_parent ##### --> +<para> + +</para> + +@t: + +<!-- ##### MACRO g_type_register_static ##### --> +<para> + +</para> + + +<!-- ##### MACRO g_value_copy ##### --> +<para> + +</para> + +@src_val: +@dest_val: + +<!-- ##### MACRO g_value_get_boolean ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_char ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_double ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_enum ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_float ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_int ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_long ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_pointer ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_string ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_uchar ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_uint ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_get_ulong ##### --> +<para> + +</para> + +@value: + +<!-- ##### MACRO g_value_init ##### --> +<para> + +</para> + +@value: +@t: + +<!-- ##### MACRO g_value_set_boolean ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_char ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_double ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_enum ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_float ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_int ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_long ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_pointer ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_string ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_uchar ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_uint ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_set_ulong ##### --> +<para> + +</para> + +@value: +@data: + +<!-- ##### MACRO g_value_unset ##### --> +<para> + +</para> + +@val: + +<!-- ##### VARIABLE gst_aggregator_details ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gst_asyncdisksrc_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_audiosink_chain ##### --> +<para> + +</para> + +@pad: +@buf: + +<!-- ##### FUNCTION gst_audiosink_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_audiosink_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_audiosink_set_channels ##### --> +<para> + +</para> + +@audiosink: +@channels: + +<!-- ##### FUNCTION gst_audiosink_set_format ##### --> +<para> + +</para> + +@audiosink: +@format: + +<!-- ##### FUNCTION gst_audiosink_set_frequency ##### --> +<para> + +</para> + +@audiosink: +@frequency: + +<!-- ##### FUNCTION gst_audiosink_sync_parms ##### --> +<para> + +</para> + +@audiosink: + +<!-- ##### FUNCTION gst_audiosrc_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_audiosrc_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_audiosrc_push ##### --> +<para> + +</para> + +@src: + +<!-- ##### FUNCTION gst_autoplug_caps_list ##### --> +<para> + +</para> + +@autoplug: +@srcpad: +@sinkpad: +@Varargs: +@Returns: +@srccaps: +@sinkcaps: + +<!-- ##### FUNCTION gst_autoplugfactory_load_thyself ##### --> +<para> + +</para> + +@parent: +@Returns: + +<!-- ##### FUNCTION gst_autoplugfactory_save_thyself ##### --> +<para> + +</para> + +@factory: +@parent: +@Returns: + +<!-- ##### FUNCTION gst_bin_add_managed_element ##### --> +<para> + +</para> + +@bin: +@element: + +<!-- ##### FUNCTION gst_bin_create_plan ##### --> +<para> + +</para> + +@bin: + +<!-- ##### FUNCTION gst_bin_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_bin_remove_managed_element ##### --> +<para> + +</para> + +@bin: +@element: + +<!-- ##### FUNCTION gst_bin_schedule ##### --> +<para> + +</para> + +@bin: + +<!-- ##### FUNCTION gst_bin_schedule_func ##### --> +<para> + +</para> + +@bin: + +<!-- ##### FUNCTION gst_bin_set_element_manager ##### --> +<para> + +</para> + +@element: +@manager: + +<!-- ##### FUNCTION gst_buffer_add_meta ##### --> +<para> + +</para> + +@buffer: +@meta: + +<!-- ##### FUNCTION gst_buffer_get_first_meta ##### --> +<para> + +</para> + +@buffer: +@Returns: + +<!-- ##### FUNCTION gst_buffer_get_metas ##### --> +<para> + +</para> + +@buffer: +@Returns: + +<!-- ##### FUNCTION gst_buffer_pool_destroy_buffer ##### --> +<para> + +</para> + +@pool: +@buffer: + +<!-- ##### FUNCTION gst_buffer_pool_new_buffer ##### --> +<para> + +</para> + +@pool: +@Returns: + +<!-- ##### FUNCTION gst_buffer_pool_set_create_function ##### --> +<para> + +</para> + +@pool: +@create: +@user_data: + +<!-- ##### FUNCTION gst_buffer_pool_set_destroy_function ##### --> +<para> + +</para> + +@pool: +@destroy: +@user_data: + +<!-- ##### FUNCTION gst_buffer_remove_meta ##### --> +<para> + +</para> + +@buffer: +@meta: + +<!-- ##### FUNCTION gst_caps_list_check_compatibility ##### --> +<para> + +</para> + +@fromcaps: +@tocaps: +@Returns: + +<!-- ##### FUNCTION gst_caps_new_with_props ##### --> +<para> + +</para> + +@name: +@mime: +@props: +@Returns: + +<!-- ##### FUNCTION gst_caps_register ##### --> +<para> + +</para> + +@factory: +@Returns: + +<!-- ##### FUNCTION gst_caps_register_count ##### --> +<para> + +</para> + +@factory: +@counter: +@Returns: +@count: + +<!-- ##### FUNCTION gst_connection_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_connection_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_connection_push ##### --> +<para> + +</para> + +@connection: + +<!-- ##### FUNCTION gst_debug_print_stack_trace ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gst_disksrc_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_element_change_state ##### --> +<para> + +</para> + +@element: +@state: +@Returns: + +<!-- ##### FUNCTION gst_element_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_element_load_thyself ##### --> +<para> + +</para> + +@self: +@parent: +@Returns: +@elements: + +<!-- ##### FUNCTION gst_element_loopfunc_wrapper ##### --> +<para> +</para> + +@argc: +@argv: +@Returns: + +<!-- ##### FUNCTION gst_element_new ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_element_request_pad ##### --> +<para> + +</para> + +@element: +@templ: +@Returns: +@temp: + +<!-- ##### FUNCTION gst_element_restore_thyself ##### --> +<para> + +</para> + +@self: +@parent: +@Returns: + +<!-- ##### FUNCTION gst_element_save_thyself ##### --> +<para> + +</para> + +@element: +@parent: +@Returns: + +<!-- ##### FUNCTION gst_element_signal_eos ##### --> +<para> + +</para> + +@element: + +<!-- ##### FUNCTION gst_elementfactory_add_sink ##### --> +<para> + +</para> + +@elementfactory: +@id: + +<!-- ##### FUNCTION gst_elementfactory_add_src ##### --> +<para> + +</para> + +@elementfactory: +@id: + +<!-- ##### FUNCTION gst_elementfactory_can_sink_caps_list ##### --> +<para> + +</para> + +@factory: +@caps: +@Returns: + +<!-- ##### FUNCTION gst_elementfactory_can_src_caps_list ##### --> +<para> + +</para> + +@factory: +@caps: +@Returns: + +<!-- ##### FUNCTION gst_elementfactory_destroy ##### --> +<para> + +</para> + +@elementfactory: + +<!-- ##### FUNCTION gst_elementfactory_load_thyself ##### --> +<para> + +</para> + +@parent: +@Returns: + +<!-- ##### FUNCTION gst_elementfactory_register ##### --> +<para> + +</para> + +@elementfactory: + +<!-- ##### FUNCTION gst_elementfactory_save_thyself ##### --> +<para> + +</para> + +@factory: +@parent: +@Returns: + +<!-- ##### FUNCTION gst_esdsink_chain ##### --> +<para> + +</para> + +@pad: +@buf: + +<!-- ##### FUNCTION gst_esdsink_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_esdsink_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_esdsink_set_channels ##### --> +<para> + +</para> + +@esdsink: +@channels: + +<!-- ##### FUNCTION gst_esdsink_set_format ##### --> +<para> + +</para> + +@esdsink: +@format: + +<!-- ##### FUNCTION gst_esdsink_set_frequency ##### --> +<para> + +</para> + +@esdsink: +@frequency: + +<!-- ##### FUNCTION gst_esdsink_sync_parms ##### --> +<para> + +</para> + +@esdsink: + +<!-- ##### FUNCTION gst_extra_get_filename_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_fakesink_chain ##### --> +<para> + +</para> + +@pad: +@buf: + +<!-- ##### FUNCTION gst_fakesink_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_fakesink_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_fakesrc_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_fakesrc_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_fakesrc_push ##### --> +<para> + +</para> + +@src: + +<!-- ##### FUNCTION gst_fdsink_chain ##### --> +<para> + +</para> + +@pad: +@buf: + +<!-- ##### FUNCTION gst_fdsink_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_fdsink_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_fdsink_new_with_fd ##### --> +<para> + +</para> + +@name: +@fd: +@Returns: + +<!-- ##### FUNCTION gst_fdsrc_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_filter_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_filter_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_httpsrc_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_identity_chain ##### --> +<para> + +</para> + +@pad: +@buf: + +<!-- ##### FUNCTION gst_identity_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_identity_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### MACRO gst_info ##### --> +<para> + +</para> + +@format: +@args...: + +<!-- ##### MACRO gst_marshal_VOID__BOOLEAN ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_marshal_VOID__INT ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_marshal_VOID__INT_INT ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_marshal_VOID__OBJECT ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_marshal_VOID__OBJECT_POINTER ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_marshal_VOID__POINTER ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_marshal_VOID__STRING ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_marshal_VOID__VOID ##### --> +<para> + +</para> + + +<!-- ##### MACRO gst_meta_new ##### --> +<para> +Create new meta data. +</para> + +@type: the type of the meta data to create + +<!-- ##### FUNCTION gst_meta_new_size ##### --> +<para> + +</para> + +@size: +@Returns: + +<!-- ##### FUNCTION gst_meta_ref ##### --> +<para> + +</para> + +@meta: + +<!-- ##### FUNCTION gst_meta_unref ##### --> +<para> + +</para> + +@meta: + +<!-- ##### FUNCTION gst_object_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_object_new ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_pad_add_ghost_parent ##### --> +<para> + +</para> + +@pad: +@parent: + +<!-- ##### MACRO gst_pad_eos ##### --> +<para> +Call the EOS function of the pad +</para> + +@pad: the pad to call the eos function of. + +<!-- ##### FUNCTION gst_pad_eos_func ##### --> +<para> + +</para> + +@pad: +@Returns: + +<!-- ##### FUNCTION gst_pad_event ##### --> +<para> + +</para> + +@pad: +@event: +@timestamp: +@data: +@Returns: + +<!-- ##### FUNCTION gst_pad_get_caps_by_name ##### --> +<para> + +</para> + +@pad: +@name: +@Returns: + +<!-- ##### FUNCTION gst_pad_get_caps_list ##### --> +<para> + +</para> + +@pad: +@Returns: + +<!-- ##### FUNCTION gst_pad_get_directory ##### --> +<para> + +</para> + +@pad: +@Returns: + +<!-- ##### FUNCTION gst_pad_get_ghost_parents ##### --> +<para> + +</para> + +@pad: +@Returns: + +<!-- ##### FUNCTION gst_pad_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_pad_get_type_id ##### --> +<para> + +</para> + +@pad: +@Returns: + +<!-- ##### FUNCTION gst_pad_handle_qos ##### --> +<para> + +</para> + +@pad: +@qos_message: + +<!-- ##### FUNCTION gst_pad_negotiate_proxy ##### --> +<para> + +</para> + +@srcpad: +@destpad: +@caps: +@Returns: +@counter: +@count: + +<!-- ##### FUNCTION gst_pad_pull_region ##### --> +<para> + +</para> + +@pad: +@offset: +@size: +@Returns: + +<!-- ##### FUNCTION gst_pad_remove_ghost_parent ##### --> +<para> + +</para> + +@pad: +@parent: + +<!-- ##### FUNCTION gst_pad_renegotiate ##### --> +<para> + +</para> + +@pad: +@Returns: + +<!-- ##### FUNCTION gst_pad_save_thyself ##### --> +<para> + +</para> + +@pad: +@parent: +@Returns: + +<!-- ##### FUNCTION gst_pad_set_caps ##### --> +<para> + +</para> + +@pad: +@caps: +@Returns: + +<!-- ##### FUNCTION gst_pad_set_caps_list ##### --> +<para> + +</para> + +@pad: +@caps: + +<!-- ##### FUNCTION gst_pad_set_eos ##### --> +<para> + +</para> + +@pad: +@Returns: + +<!-- ##### FUNCTION gst_pad_set_eos_function ##### --> +<para> + +</para> + +@pad: +@eos: + +<!-- ##### FUNCTION gst_pad_set_negotiate_function ##### --> +<para> + +</para> + +@pad: +@nego: + +<!-- ##### FUNCTION gst_pad_set_newcaps_function ##### --> +<para> + +</para> + +@pad: +@newcaps: + +<!-- ##### FUNCTION gst_pad_set_pull_function ##### --> +<para> + +</para> + +@pad: +@pull: + +<!-- ##### FUNCTION gst_pad_set_qos_function ##### --> +<para> + +</para> + +@pad: +@qos: + +<!-- ##### FUNCTION gst_pad_set_type_id ##### --> +<para> + +</para> + +@pad: +@id: + +<!-- ##### FUNCTION gst_pad_try_connect ##### --> +<para> + +</para> + +@srcpad: +@sinkpad: +@Returns: + +<!-- ##### FUNCTION gst_padtemplate_create ##### --> +<para> + +</para> + +@name_template: +@direction: +@presence: +@caps: +@Returns: + +<!-- ##### FUNCTION gst_pipeline_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_pipeline_iterate ##### --> +<para> + +</para> + +@pipeline: + +<!-- ##### FUNCTION gst_plugin_add_autoplugger ##### --> +<para> + +</para> + +@plugin: +@factory: + +<!-- ##### FUNCTION gst_plugin_add_factory ##### --> +<para> + +</para> + +@plugin: +@factory: + +<!-- ##### FUNCTION gst_plugin_add_type ##### --> +<para> + +</para> + +@plugin: +@factory: + +<!-- ##### FUNCTION gst_plugin_feature_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_plugin_get_autoplug_list ##### --> +<para> + +</para> + +@plugin: +@Returns: + +<!-- ##### FUNCTION gst_plugin_get_factory_list ##### --> +<para> + +</para> + +@plugin: +@Returns: + +<!-- ##### FUNCTION gst_plugin_get_type_list ##### --> +<para> + +</para> + +@plugin: +@Returns: + +<!-- ##### FUNCTION gst_plugin_init ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gst_plugin_load_autoplugfactory ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_plugin_load_elementfactory ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_plugin_load_typefactory ##### --> +<para> + +</para> + +@mime: + +<!-- ##### FUNCTION gst_plugin_new ##### --> +<para> + +</para> + +@name: +@major: +@minor: +@Returns: + +<!-- ##### FUNCTION gst_props_register ##### --> +<para> + +</para> + +@factory: +@Returns: + +<!-- ##### FUNCTION gst_props_register_count ##### --> +<para> + +</para> + +@factory: +@counter: +@Returns: + +<!-- ##### FUNCTION gst_queue_chain ##### --> +<para> + +</para> + +@pad: +@buf: + +<!-- ##### FUNCTION gst_queue_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_queue_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_queue_push ##### --> +<para> + +</para> + +@connection: + +<!-- ##### FUNCTION gst_schedule_add_element ##### --> +<para> + +</para> + +@sched: +@element: + +<!-- ##### FUNCTION gst_schedule_disable_element ##### --> +<para> + +</para> + +@sched: +@element: + +<!-- ##### FUNCTION gst_schedule_enable_element ##### --> +<para> + +</para> + +@sched: +@element: + +<!-- ##### FUNCTION gst_schedule_iterate ##### --> +<para> + +</para> + +@sched: +@Returns: + +<!-- ##### FUNCTION gst_schedule_new ##### --> +<para> + +</para> + +@parent: +@Returns: + +<!-- ##### FUNCTION gst_schedule_pad_connect ##### --> +<para> + +</para> + +@sched: +@srcpad: +@sinkpad: + +<!-- ##### FUNCTION gst_schedule_pad_disconnect ##### --> +<para> + +</para> + +@sched: +@srcpad: +@sinkpad: + +<!-- ##### FUNCTION gst_schedule_pad_select ##### --> +<para> + +</para> + +@sched: +@padlist: +@Returns: + +<!-- ##### FUNCTION gst_schedule_remove_element ##### --> +<para> + +</para> + +@sched: +@element: + +<!-- ##### FUNCTION gst_schedule_show ##### --> +<para> + +</para> + +@sched: + +<!-- ##### FUNCTION gst_scheduler_disable_element ##### --> +<para> + +</para> + +@sched: +@element: + +<!-- ##### FUNCTION gst_scheduler_enable_element ##### --> +<para> + +</para> + +@sched: +@element: + +<!-- ##### FUNCTION gst_schedulerfactory_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_sinesrc_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_sinesrc_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_sinesrc_push ##### --> +<para> + +</para> + +@src: + +<!-- ##### FUNCTION gst_sink_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_sink_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_src_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_src_push ##### --> +<para> + +</para> + +@src: + +<!-- ##### FUNCTION gst_src_push_region ##### --> +<para> + +</para> + +@src: +@offset: +@size: + +<!-- ##### FUNCTION gst_src_signal_eos ##### --> +<para> + +</para> + +@src: + +<!-- ##### FUNCTION gst_tee_chain ##### --> +<para> + +</para> + +@pad: +@buf: + +<!-- ##### FUNCTION gst_tee_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_tee_new ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION gst_tee_new_pad ##### --> +<para> + +</para> + +@tee: +@Returns: + +<!-- ##### FUNCTION gst_thread_get_type ##### --> +<para> + +</para> + +@Returns: + +<!-- ##### FUNCTION gst_thread_iterate ##### --> +<para> + +</para> + +@thread: + +<!-- ##### FUNCTION gst_thread_main_loop ##### --> +<para> + +</para> + +@arg: + +<!-- ##### MACRO gst_trace_add_entry ##### --> +<para> + +</para> + +@trace: +@seq: +@data: +@msg: + +<!-- ##### FUNCTION gst_trace_destroy ##### --> +<para> + +</para> + +@trace: + +<!-- ##### FUNCTION gst_trace_flush ##### --> +<para> + +</para> + +@trace: + +<!-- ##### MACRO gst_trace_get_offset ##### --> +<para> + +</para> + +@trace: + +<!-- ##### MACRO gst_trace_get_remaining ##### --> +<para> + +</para> + +@trace: + +<!-- ##### MACRO gst_trace_get_size ##### --> +<para> + +</para> + +@trace: + +<!-- ##### FUNCTION gst_trace_new ##### --> +<para> + +</para> + +@filename: +@size: +@Returns: + +<!-- ##### FUNCTION gst_trace_read_tsc ##### --> +<para> + +</para> + +@dst: + +<!-- ##### FUNCTION gst_trace_set_default ##### --> +<para> + +</para> + +@trace: + +<!-- ##### FUNCTION gst_trace_text_flush ##### --> +<para> + +</para> + +@trace: + +<!-- ##### FUNCTION gst_type_add_sink ##### --> +<para> + +</para> + +@id: +@sink: + +<!-- ##### FUNCTION gst_type_add_src ##### --> +<para> + +</para> + +@id: +@src: + +<!-- ##### FUNCTION gst_type_dump ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gst_type_get_sink_to_src ##### --> +<para> + +</para> + +@sinkid: +@srcid: +@Returns: + +<!-- ##### FUNCTION gst_type_get_sinks ##### --> +<para> + +</para> + +@id: +@Returns: + +<!-- ##### FUNCTION gst_type_get_srcs ##### --> +<para> + +</para> + +@id: +@Returns: + +<!-- ##### FUNCTION gst_type_initialize ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gst_type_load_thyself ##### --> +<para> + +</para> + +@parent: +@Returns: + +<!-- ##### FUNCTION gst_type_save_thyself ##### --> +<para> + +</para> + +@type: +@parent: +@Returns: + +<!-- ##### FUNCTION gst_typefactory_load_thyself ##### --> +<para> + +</para> + +@parent: +@Returns: + +<!-- ##### FUNCTION gst_typefactory_save_thyself ##### --> +<para> + +</para> + +@factory: +@parent: +@Returns: + +<!-- ##### FUNCTION gst_util_get_widget_arg ##### --> +<para> + +</para> + +@object: +@argname: +@Returns: + +<!-- ##### FUNCTION gst_xml_new_from_memory ##### --> +<para> + +</para> + +@buffer: +@size: +@root: +@Returns: + +<!-- ##### FUNCTION plugin_initialize ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION plugin_load ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION plugin_load_absolute ##### --> +<para> + +</para> + +@name: +@Returns: + +<!-- ##### FUNCTION plugin_load_all ##### --> +<para> + +</para> + + diff --git a/docs/gst/tmpl/gstscheduler.sgml b/docs/gst/tmpl/gstscheduler.sgml new file mode 100644 index 0000000000..006a7d9241 --- /dev/null +++ b/docs/gst/tmpl/gstscheduler.sgml @@ -0,0 +1,188 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstschedulerfactory.sgml b/docs/gst/tmpl/gstschedulerfactory.sgml new file mode 100644 index 0000000000..17376bf0b6 --- /dev/null +++ b/docs/gst/tmpl/gstschedulerfactory.sgml @@ -0,0 +1,105 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gststaticautoplug.sgml b/docs/gst/tmpl/gststaticautoplug.sgml new file mode 100644 index 0000000000..afe7abc44a --- /dev/null +++ b/docs/gst/tmpl/gststaticautoplug.sgml @@ -0,0 +1,17 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gststaticautoplugrender.sgml b/docs/gst/tmpl/gststaticautoplugrender.sgml new file mode 100644 index 0000000000..dde4315886 --- /dev/null +++ b/docs/gst/tmpl/gststaticautoplugrender.sgml @@ -0,0 +1,17 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gststatistics.sgml b/docs/gst/tmpl/gststatistics.sgml new file mode 100644 index 0000000000..0966d3e7f5 --- /dev/null +++ b/docs/gst/tmpl/gststatistics.sgml @@ -0,0 +1,69 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gsttee.sgml b/docs/gst/tmpl/gsttee.sgml new file mode 100644 index 0000000000..f5be67fe4d --- /dev/null +++ b/docs/gst/tmpl/gsttee.sgml @@ -0,0 +1,26 @@ +<!-- ##### 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:silent ##### --> +<para> + +</para> + +<!-- ##### ARG GstTee:num-pads ##### --> +<para> + +</para> + diff --git a/docs/gst/tmpl/gstthread.sgml b/docs/gst/tmpl/gstthread.sgml new file mode 100644 index 0000000000..85f271d45b --- /dev/null +++ b/docs/gst/tmpl/gstthread.sgml @@ -0,0 +1,45 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gsttimecache.sgml b/docs/gst/tmpl/gsttimecache.sgml new file mode 100644 index 0000000000..b778159404 --- /dev/null +++ b/docs/gst/tmpl/gsttimecache.sgml @@ -0,0 +1,136 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gsttrace.sgml b/docs/gst/tmpl/gsttrace.sgml new file mode 100644 index 0000000000..3ed6fe9be3 --- /dev/null +++ b/docs/gst/tmpl/gsttrace.sgml @@ -0,0 +1,16 @@ +<!-- ##### SECTION Title ##### --> +GstTrace + +<!-- ##### SECTION Short_Description ##### --> +Tracing functionality + +<!-- ##### SECTION Long_Description ##### --> +<para> +Tracing functionality +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + diff --git a/docs/gst/tmpl/gsttype.sgml b/docs/gst/tmpl/gsttype.sgml new file mode 100644 index 0000000000..fbd9b8cbe8 --- /dev/null +++ b/docs/gst/tmpl/gsttype.sgml @@ -0,0 +1,108 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gsttypefactory.sgml b/docs/gst/tmpl/gsttypefactory.sgml new file mode 100644 index 0000000000..f5ed4fcc60 --- /dev/null +++ b/docs/gst/tmpl/gsttypefactory.sgml @@ -0,0 +1,107 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gsttypefind.sgml b/docs/gst/tmpl/gsttypefind.sgml new file mode 100644 index 0000000000..ace6c21877 --- /dev/null +++ b/docs/gst/tmpl/gsttypefind.sgml @@ -0,0 +1,30 @@ +<!-- ##### 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> + diff --git a/docs/gst/tmpl/gstutils.sgml b/docs/gst/tmpl/gstutils.sgml new file mode 100644 index 0000000000..c359b522b3 --- /dev/null +++ b/docs/gst/tmpl/gstutils.sgml @@ -0,0 +1,146 @@ +<!-- ##### 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: + + diff --git a/docs/gst/tmpl/gstxml.sgml b/docs/gst/tmpl/gstxml.sgml new file mode 100644 index 0000000000..374a0515a1 --- /dev/null +++ b/docs/gst/tmpl/gstxml.sgml @@ -0,0 +1,124 @@ +<!-- ##### 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_write_file ##### --> +<para> + +</para> + +@element: +@out: +@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: + |