GstElement
Information about audio buffers.
Information about audio buffers.
audioraw
cothreads_compat
GObject
grammar.tab
gst_private
The aggregator is mainly used for testing purposes. It has several
methods to request buffers from its pads.
Combine buffers.
GstAggregator
Reads data from a file. You can seek to a specific location by setting
the offset.
GstAsyncDiskSrc
GstAudioSink
GstAudioSrc
GstAutoplug is an abstract class that is used for constructing and
linking elements. Two types of autopluggers exist: renderer ones and non
renderer ones. The renderer autopluggers will not have any src pads while the
non renderer ones do.
You first need to create a suitable autoplugger with gst_autoplug_factory_make()
(see #GstAutoplugFactory).
The name of the autoplugger must be one of the registered autopluggers
(see #GstStaticAutoplug and #GstStaticAutoplugRender).
If the autoplugger supports the RENDERER API, use gst_autoplug_to_renderers() to
create a bin that links the src caps to the specified renderer elements. You can
then add the bin to a pipeline and run it.
GstAutoplug *autoplug;
GstElement *element;
GstElement *sink;
/* create a static autoplugger */
autoplug = gst_autoplug_factory_make ("staticrender");
/* create an osssink */
sink = gst_element_factory_make ("osssink", "our_sink");
/* create an element that can play audio/mp3 through osssink */
element = gst_autoplug_to_renderers (autoplug,
gst_caps_new (
"sink_audio_caps",
"audio/mp3",
NULL
),
sink,
NULL);
/* add the element to a bin and link the sink pad */
...
If the autoplugger supports the CAPS API, use gst_autoplug_to_caps() to
link the src caps to the destination caps. The created bin will have src caps
compatible with the provided sink caps.
GstAutoplug *autoplug;
GstElement *element;
/* create a static autoplugger */
autoplug = gst_autoplug_factory_make ("static");
/* create an element that converts audio/mp3 to audio/raw */
element = gst_autoplug_to_caps (autoplug,
gst_caps_new (
"sink_audio_caps",
"audio/mp3",
NULL
),
gst_caps_new (
"src_audio_caps",
"audio/raw",
NULL
),
NULL);
/* add the element to a bin and link the src/sink pads */
...
Optionally you can get a notification when a new object is added to the created
pipeline with a g_signal_connect to the "new_object" signal.
Use the regular gst_object_destroy() call to destroy the autoplugger.
#GstStaticAutoplug, #GstStaticAutoplugRender
Automatically create and link elements
GstAutoplug
An autoplugfactory is used to create instances of an autoplugger. It
can be added to a #GstPlugin as it extends #GstPluginFeature.
Use gst_autoplug_factory_new() to create a new autoplugger which can be registered
to a plugin with gst_plugin_add_feature().
Use gst_autoplug_factory_find() to find the named autoplugfactory.
or use gst_autoplug_factory_get_list() to get a list of all available autopluggers.
Once an autoplugfactory has been obtained use gst_autoplug_factory_create() to
instantiate a real autoplugger. Optionally gst_autoplug_factory_make() to create
a autoplugger from the named factory.
Use gst_autoplug_factory_destroy() to remove the factory from the global list.
#GstAutoplug, #GstPlugin, #GstPluginFeature.
Create autopluggers from a factory.
GstAutoplugFactory
gstbufferpool-default
GstCacheFactory
GstColorSpace
gstdata_private
The disksink write to a file. The filename can be given as an argument.
#GstFdSink
Write to a file
GstDiskSink
Asynchonously read buffers from a file.
Asynchronous read from a file (disksrc)
GstDiskSrc
GstElementFactory
gstenumtypes
GstEsdSink
GstExtraTypes
Take a buffer and gst_buffer_unref() it. This element does nothing
with the buffer. (fakesink)
Sources a buffer without doing anything with it. (fakesink)
GstFakeSink
The GstFakeSrc generates empty buffers. (fakesrc)
Generate empty buffers. (fakesrc)
GstFakeSrc
Write data to a file descriptor.
Write data to a file descriptor. (fdsink)
GstFdSink
Read buffers from a file descriptor.
Read buffers from a file descriptor. (fdsrc)
GstFdSrc
GstFileSink
FileSrc is used to read buffers from a file. It efficiently uses mmap
and subbuffers.
Read data from a file
GstFileSrc
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 linked
together to form filter graphs. A GstFilter is the base class and is not very usefull
on its own.
Take data in and spit data out
GstFilter
GstGetbits
Reads data from a URL.
Reads data from a URL. (httpsrc)
GstHttpSrc
Pass data without modification.
Pass data without modification. (identity)
GstIdentity
A link is a base class for a generic link between
elements. A link is typically a base class for queues.
Generic link between elements.
GstLink
gstmacros
gstmarshal
GstMD5Sink
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.
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.
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 linked 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.
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.
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?
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.
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.
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.
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.
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.
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?
Provide context for buffers
GstMeta
GstMultiDiskSrc
A GstPipefilter pipes data to an external program and creates
buffers from its output.
A wrapper around every stdin/stdout capable program
GstPipefilter
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.
You can query how many buffers are queued with the level argument.
The default queue length is set to 100.
The queue blocks by default.
Simple asynchronous data queue.
GstQueue
gstsearchfuncs
Create a sine wave of a given frequency and volume.
Create a sine wave of a given frequency and volume. (sinesrc)
GstSineSrc
The sink is the end of the filter graph. A typical sink would be an audio
or a video card.
The end point of a filter graph
GstSink
GstSpider
GstSpiderIdentity
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.
The start point of a filter graph
GstSrc
This autoplugger will create a non threaded element before running the
pipeline.
A static autoplugger.
GstStaticAutoplug
this autoplugger will create a threaded element that can be used
in media players.
An autoplugger made for media playback
GstStaticAutoplugRender
The plugin doesn't alter the data but provides statistics about
the data stream, such as buffers/bytes/events etc.
Provide statistics about data that passes this plugin
GstStatistics
A tee can be used to split out the filter graph.
1-to-N pipe fitting
GstTee
This class is used by plugins to manage time vs byte offsets. It is mainly
used for efficient seeking.
Cache time and byteoffsets.
GstTimeCache
gsttypes
gstversion
GstXMLRegistry
plugin
Frequencies of a spectrum analysis.
Frequencies of a spectrum analysis.
spectrum
types
Information about video buffers.
Information about video buffers.
videoraw
The maximum number of cothreads we are going to support.
The default stack size of a cothread.
Get the current stack frame.
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.
@format: the format specification as in g_print
@args...: arguments
@format:
@args...:
@format:
@args...:
@format:
@args...:
@format:
@args...:
@element:
@format:
@args...:
@element:
@object:
@format:
@args...:
@name:
@value_type:
@flags:
@obj:
@klass:
Atomically add a value to a #GstAtomicInt
@ref: a reference to a #GstAtomicInt
@count: The value to add
Decrement the value of a #GstAtomicInt atomically and test
for zero.
@ref: a reference to a #GstAtomicInt
@zero: a gpointer to a gboolean to hold the value of the test
Free the memory allocated by #GST_ATOMIC_INT_INIT
@ref: A reference to a #GstAtomicInt
Increment the value of a #GstAtomicInt atomically
@ref: a reference to a #GstAtomicInt
Initialize an atomic int
@ref: a reference to a #GstAtomicInt
@val: The initial value for the integer
Get the value of a #GstAtomicInt atomically into a variable
@ref: a reference to a #GstAtomicInt
@res: a pointer to a gint to hold the value
Set the value of a #GstAtomicInt atomically
@ref: a reference to a #GstAtomicInt
@val: The value for the integer
Get the value of a #GstAtomicInt atomically
@ref: a reference to a #GstAtomicInt
Atomically swap the value of the #GstAtomicSwap with a new value
@swap: a reference to a #GstAtomicSwap
@val: the new value
Atomically swap the value of the #GstAtomicSwap with a new value and
get the old value.
@swap: a reference to a #GstAtomicSwap
@val: the new value
@res: the old value
Initialize an atomic swap structure
@swap: a reference to a #GstAtomicSwap
@val: the initial value
Get the value of a #GstAtomicSwap
@swap: a reference to a #GstAtomicSwap
@obj:
@klass:
@obj:
@klass:
@obj:
@klass:
@obj:
@obj:
@klass:
@klass:
Gets the bufferpool for this buffer.
@buf: a #GstBuffer to get the bufferpool of.
@Returns: the #GstBufferPool of this buffer.
Obtains a lock on the object, making serialization possible.
@buf: a #GstBuffer to lock
Gets the maximum age of a buffer.
@buf: a #GstBuffer to get maximum age of
Gets the parent of this buffer. The parent is set on sub-buffers.
@buf: a #GstBuffer to get parent of
Unlock the given bufferpool.
@pool: the bufferpool to unlock.
Gets the bufferpool private data.
@buf: a #GstBuffer to get bufferpool's private data of.
Lock the given bufferpool.
@pool: The pool to lock.
Tries to obtain a lock on the buffer.
If it can't get immediately, will return FALSE.
@buf: a #GstBuffer to try to lock
Retrieves the type id of the data in the buffer.
@buf: GstBuffer
Releases a lock on the buffer.
@buf: a #GstBuffer to unlock
@entry:
@entry:
@i:
@entry:
@i:
@obj:
@klass:
@entry:
@entry:
@entry:
@entry:
@caps:
Lock the caps structure
@caps: The caps structure to lock
Try to lock the caps structure
@caps: The caps structure to try to lock
Unlock the caps structure
@caps: The caps structure to unlock
A flag indicating that MMX instructions are supported.
A flag indicating that SSE instructions are supported.
Query if the GstData is READONLY
@data: The data to query
Read the current refcount value into the specified value
@data: The GstData to get the refcount value of
@value: A pointer to a gint to hold the refcount value
Combine #GST_DEBUG_ENTER and #GST_DEBUG_SET_STRING.
@cat:
@format:
@args...:
@cat:
@format:
@args...:
Set the debug string for the current function, typically containing the arguments
to the current function, i.e. "('element')"
@format: printf-style format string
@args...: printf arguments
@obj:
@klass:
@obj:
@obj:
@klass:
@klass:
@obj:
@klass:
Queries whether the cothread holding this element needs to be stopped.
@obj: The element to query
Query wether this element is in the End Of Stream state.
@obj: a #GstElement to query
Query whether this object has multiple input pads.
@obj: Element to query for multiple input pads.
The element is only marginally usefull for autoplugging
The plugin may not be used in autoplugging
The plugin is well suited for autoplugging
The plugin is suited for autoplugging but only as a second
candidate.
@obj:
@klass:
Set or get the flush flag of the discont event.
@event: The event to operate on
The properties of the info event
@event: The event to query
Qeury wether the seek event also needs a flush.
@event: The event to query.
@obj:
@klass:
@obj:
@klass:
@obj:
@klass:
@obj:
@klass:
@obj:
@klass:
subclass use this to start their flag enumeration
@obj:
@obj:
@klass:
@klass:
@obj:
@klass:
@obj:
@klass:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@klass:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@obj:
@klass:
@meta:
Retrieve the flags of the given meta information.
@meta: the meta information
Check if a given flag is set.
@meta: the meta data to test
@flag: the flag to test
Set a flag in the meta data.
@meta: the meta data
@flag: the flag to set
Clear a flag in the meta data.
@meta: the meta data
@flag: the flag to clear
@obj:
@obj:
@klass:
@klass:
subclasses can use this value to start the enumeration of their flags
@obj:
@obj:
@klass:
@klass:
Indicate that this pad will always be available.
Use this in the factory definition.
Starts the declaration of a the capabilities for this padtemplate.
@a...: a capability factory
Indicates that this pad will be available on request. Use
this in the factory definition.
Indicates a sinkpad for the padfactory.
Indicate that this pad will become available depending
on the media type. Use this in the factory definition.
Indicates a srcpad for the padfactory.
@a:
Is this pad linked.
@pad: the pad to check
@obj:
@klass:
Get the flag indicating the properties are fixed from the template.
@templ: the template to query
@obj:
@klass:
@plugin:
A handy macro to define a plugin description. This macro handles with all the issues
involved with the different linking methods for this plugin.
@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.
The macro used to define dynamically loaded plugins.
@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.
A macro used to define a statically linked plugin.
@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.
@a:
@a:
@b:
@a:
Create a fourcc property out of an integer value.
@a: the integer value
@obj:
@klass:
@obj:
@obj:
@klass:
@klass:
Get the EOS function of the real pad.
@pad: the real pad to query.
Get the getregion function of the real pad.
@pad: the real pad to query.
Get the length of the region that is being pulled.
@pad: the real pad to query.
Get the negotiate function from the real pad.
@pad: the real pad to query.
Get the newcaps function from the real pad.
@pad: the real pad to query.
Get the offset of the region that is being pulled.
@pad: the real pad to query.
Get the pullfunction of the real pad.
@pad: the real pad to query.
Get the pullregion function of the real pad.
@pad: the real pad to query.
Get the pushfunction of the real pad.
@pad: the real pad to query.
Get the QoS function of the real pad.
@pad: the real pad to query.
Get the type of the region that is being pulled.
@pad: the real pad to query.
@obj:
@klass:
Fast macro to add an element to the scheduler.
@sched: The scheduler to add the element to.
@element: The element to add to the scheduler.
Fast macro to disable the element.
@sched: The scheduler.
@element: The element to disable.
Fast macro to enable the element in the scheduler.
@sched: The scheduler.
@element: The element to activate.
Fast macro to perform one iteration of the scheduler.
@sched: The scheduler to iterate.
Fast macro to lock a given element.
@sched: The scheduler.
@element: The element to lock.
Fast macro to link two pads.
@sched: The scheduler.
@srcpad: The source pad.
@sinkpad: The sink pad.
Fast macro to unlink two pads.
@sched: The scheduler.
@srcpad: The source pad.
@sinkpad: The sink pad.
Fast macro to remove an element from the scheduler.
@sched: The scheduler to remove the element from.
@element: The element to remove from the scheduler.
Handy macro to check for a non NULL scheduler. The next block of statements
will only be axecuted if the scheduler is not NULL.
@sched: the scheduler to query.
Fast macro to unlock a given element.
@sched: The scheduler.
@element: The element to unlock.
Get the parent #GstElement of this scheduler.
@sched: the scheduler to query.
@obj:
@klass:
@obj:
@klass:
@obj:
This macro checks to see if the GST_SRC_ASYNC flag is set.
@obj: GstSrc to check for flag in.
@klass:
This macro returns the entire set of flags for the object.
@obj: GstSrc to return flags for.
Query a GstSrc for the ASYNC flag
@obj: The GstSrc to query
This macro sets the given flags.
@src:
@flag: Flag to set, can by any number of bits in guint32.
@obj: GstSrc to set flag in.
This macro usets the given flags.
@src:
@flag: Flag to set, must be a single bit in guint32.
@obj: GstSrc to unset flag in.
This macro checks to see if the given state is set.
@obj: Element to check for state.
@flag: State to check for, must be a single bit in guint32.
The Element is going from the PLAYING state to the READY state.
The Element is going from the READY state to the PLAYING state.
This macro sets the given state on the element.
@obj: Element to set state of.
@flag: State to set, can be any number of bits in guint32.
This macro unsets the given state on the element.
@obj: Element to unset state of.
@flag: State to unset, can be any number of bits in guint32.
@obj:
@klass:
@obj:
@klass:
A type that can be used to indicate a filename.
@class_size:
@base_init:
@base_finalize:
@class_init:
@class_finalize:
@class_data:
@instance_size:
@n_preallocs:
@instance_init:
@value_table:
@f:
@pspec:
@obj:
@gclass:
@a:
@b:
@c:
@klass:
@o:
@t:
@c:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@v:
@AGGREGATOR_LOOP:
@AGGREGATOR_LOOP_SELECT:
@AGGREGATOR_CHAIN:
Specify how many bytes to read at a time.
Get the size of the current file.
Specify the location of the file to read.
Specify the current offset in the file.
GST_ASYNCDISKSRC_OPEN
the asyncdisksrc is open for reading
@GST_ASYNCDISKSRC_OPEN:
@GST_ASYNCDISKSRC_FLAG_LAST:
The structure to handle values that can be swapped atomically
@lock:
The buffer is sent to the sound card.
@gstaudiosink: the object which received the signal.
@arg1: the audiosink.
The number of bytes per read.
The number of channels (mono, stereo, ...)
Get the current number of bytes read.
The audio format as defined in soundcard.h
The frequency.
The autoplug object
@gstautoplug: the object which received the signal.
@arg1:
The autoplugfactory object
The type of the autoplugger.
@GST_AUTOPLUG_TO_CAPS:
@GST_AUTOPLUG_TO_RENDERER:
@GST_AUTOPLUG_FLAG_LAST:
@prev:
@fac:
@templ:
@cost:
@endpoint:
is signaled whenever a new GstElement is added to the GstBin
@gstbin: the object which received the signal.
@arg1: the element that was added
This supplied function is used to copy the buffer contents.
@srcbuf: a #GstBuffer to copy from
@Returns: a newly allocated #GstBuffer copy of srcbuf
This supplied function is called when the buffer data has to be freed.
@buf: a #GstBuffer to clear the buffer data of
The function called when a buffer has to be created for this pool.
@pool: the pool from which to create the buffer
@user_data: any user data
@Returns: a new buffer from the pool
This function will be called when the given buffer has to be returned to
the pool.
@pool: the pool to return the buffer to
@buffer: the buffer to return
@user_data: any user data
Will be called when the bufferpool is destroyed so that the owner of the pool
can perform necessary cleanup.
@pool: The pool that is being destroyed
@user_data: user data as set on th bufferpool
@format:
@value:
@GST_CACHE_UNKNOWN:
@GST_CACHE_CERTAIN:
@GST_CACHE_FUZZY:
@type:
@id:
@GST_CACHE_ENTRY_ID:
@GST_CACHE_ENTRY_ASSOCIATION:
@GST_CACHE_ENTRY_OBJECT:
@GST_CACHE_ENTRY_FORMAT:
@cache:
@entry:
@Returns:
@groupnum:
@entries:
@certainty:
@peergroup:
@GST_CACHE_LOOKUP_EXACT:
@GST_CACHE_LOOKUP_BEFORE:
@GST_CACHE_LOOKUP_AFTER:
@cache:
@writer:
@writer_id:
@writer_string:
@user_data:
@Returns:
@GST_CAPS_ALWAYS:
@GST_CAPS_MAYBE:
Is emited after the buffer has been written to the disk.
@gstdisksink: the object which received the signal.
The filename to write to.
@GST_DISKSINK_OPEN:
@GST_DISKSINK_FLAG_LAST:
Specify how many bytes to read at a time.
Specify the location of the file to read.
Get/set the current offset in the file.
Get the size of the file.
GST_DISKSRC_OPEN
the disksrc is open for reading
@GST_DISKSRC_OPEN:
@GST_DISKSRC_FLAG_LAST:
@gstelement: the object which received the signal.
@arg1:
@arg2:
@gstelement: the object which received the signal.
@arg1:
@arg2:
@arg3:
@gstelement: the object which received the signal.
@arg1:
@gstelement: the object which received the signal.
@arg1: The ghost pad that was removed.
Is trigered whenever a new ghost pad is added to an element
@gstelement: the object which received the signal.
@arg1: the new ghost pad that was added
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.
The function to get the clock from a clock providing element
@element: The element to get the clock of
@Returns: The clock provided by the element
The function to set the clock on a clock receiving element.
@element: The element to set the clock on
@clock: The clock to set on the element
This signal is emmitted when a buffer is handled.
@gstfakesink: the object which received the signal.
@arg1: The buffer that is received.
Dump the contents of the buffer
The last message this plugin emmited.
The number of sink pads.
Indicates the plugin should not emit messages.
Sync on the clock
@gstfakesrc: the object which received the signal.
@arg1:
@FAKESRC_DATA_ALLOCATE:
@FAKESRC_DATA_SUBBUFFER:
@FAKESRC_DATA_BUFFERPOOL:
@FAKESRC_FILLTYPE_NOTHING:
@FAKESRC_FILLTYPE_NULL:
@FAKESRC_FILLTYPE_RANDOM:
@FAKESRC_FILLTYPE_PATTERN:
@FAKESRC_FILLTYPE_PATTERN_CONT:
@FAKESRC_FIRST_LAST_LOOP:
@FAKESRC_LAST_FIRST_LOOP:
@FAKESRC_PING_PONG:
@FAKESRC_ORDERED_RANDOM:
@FAKESRC_RANDOM:
@FAKESRC_PATTERN_LOOP:
@FAKESRC_PING_PONG_PATTERN:
@FAKESRC_GET_ALWAYS_SUCEEDS:
@FAKESRC_SIZETYPE_NULL:
@FAKESRC_SIZETYPE_FIXED:
@FAKESRC_SIZETYPE_RANDOM:
The filedescriptor to write to.
The number of bytes per read.
The filedescriptor to read from. Pass the argument as a char* (???)
Get the current offset in the file.
@GST_FILESINK_OPEN:
@GST_FILESINK_FLAG_LAST:
The size of the buffers to pass to the peer element.
The file descriptor.
The filesize.
The filename
The size of the mmapped area.
The offset in the file that is currently being read.
Indicates the mmapped area should be touched to bring it into memory.
@GST_FILESRC_OPEN:
@GST_FILESRC_FLAG_LAST:
Specify how many bytes to read at a time.
Specify the location of the file. The location must be a fully qualified URL.
@gstidentity: the object which received the signal.
@arg1:
An entry in the memchunk area
@link:
@area:
@lock: for locking purposes
@flags: the flags of the meta data
@data: the meta data
@size: the size of the meta data
Flags indicating properties about the meta data.
@GST_META_FREEABLE: the meta data can be freed
@GST_MULTIDISKSRC_OPEN:
@GST_MULTIDISKSRC_FLAG_LAST:
Indicates this pad is active
The signature of the dispatcher callback.
@pad: The pad that is being dispatched
@data: user data
@Returns: TRUE if no further pads need to be processed
The function that will be called in an EOS case.
@pad: the pad that needs to be set to EOS state
@Returns: TRUE if EOS was successful, FALSE otherwise
Defines an entry for a padfactory.
The padfactory.
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.
@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
The function that will be called when negotiating.
@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
The possible results from padnegotiation.
@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.
The function that will be called when the caps of the pad has
changed.
@pad: The pad that has its caps changed
@caps: the new caps of the pad
The function that will be called when pulling buffers.
@pad: the pad to pull
@Returns: a GstBuffer
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.
@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
The function that will be called when pushing a buffers.
@pad: the pad to push
@buf: a GstBuffer to push
The function that will be called when a QoS message is sent.
@pad: the pad that sent the QoS message
@qos_message: the message
The different supported query types.
@GST_PAD_QUERY_NONE:
@GST_PAD_QUERY_TOTAL: Query the total stream time.
@GST_PAD_QUERY_POSITION: Query the current stream position.
@GST_PAD_QUERY_LATENCY: Query the latency on the pad.
@GST_PAD_QUERY_JITTER: Query the average jitter beteen optimal processing
and current processing.
@GST_PAD_QUERY_START: Query for the configured start time for segmented seek
@GST_PAD_QUERY_SEGMENT_END: Query the end position of the currently
executing segment.
@GST_PAD_QUERY_RATE: Query at which rate this pad will process data.
@GST_PARSE_ERROR_SYNTAX:
@GST_PARSE_ERROR_CREATING_ELEMENT:
@GST_PARSE_ERROR_NOSUCH_ELEMENT:
@GST_PARSE_ERROR_INTERNAL:
@GST_PARSE_ERROR_LINK:
@GST_PIPEFILTER_OPEN:
@GST_PIPEFILTER_FLAG_LAST:
Sets the command to be executed.
@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:
Specify wether the queue blocks or not.
Get the number of buffers in the queue.
Specify the maximum number of buffers in the queue before the queue
blocks.
the region types for #gst_pad_pullregion.
@GST_REGION_VOID:
@GST_REGION_OFFSET_LEN: an offet/length pair
@GST_REGION_TIME_LEN: a time start/length pair
@global_reg:
@local_reg:
@dir:
@file:
@tmp_file:
@GST_RESULT_OK:
@GST_RESULT_NOK:
@GST_RESULT_NOT_IMPL:
@sched:
@disabled:
@elements:
@num_elements:
@entry:
@cothreaded_elements:
@schedule:
@object:
@parent:
@parent_sched:
@state:
@clock:
@current_clock:
@clock_providers:
@clock_receivers:
@schedulers:
The number of channels.
The format ad defined in soundcard.h
The frequency.
The fequency.
The volume as a double 0.0 is silent, 1.0 is loudest.
An eos signal is triggered whenever the GstSrc has reached the end of
the stream.
@gstsrc: the object which received the signal.
@arg1: the object which received the signal
Flags for the GstSrc element
@GST_SRC_ASYNC: Indicates that this src is asynchronous
@GST_SRC_FLAG_LAST: subclasses can use this to number their flags
@gststatistics: the object which received the signal.
TRUE if the thread should be created.
@GST_TIME_CACHE_UNKNOWN:
@GST_TIME_CACHE_CERTAIN:
@GST_TIME_CACHE_FUZZY_LOCATION:
@GST_TIME_CACHE_FUZZY_TIMESTAMP:
@GST_TIME_CACHE_FUZZY:
@location:
@timestamp:
@groupnum:
@entries:
@certainty:
@peergroup:
@mintimestamp:
@maxtimestamp:
@minlocation:
@maxlocation:
@filename:
@fd:
@buf:
@bufsize:
@bufoffset:
@timestamp:
@sequence:
@data:
@message:
The signal to indicate the mime type was detected.
@gsttypefind: the object which received the signal.
@arg1: The mime type that was detected
Query the element for the current mime type
@registry:
@registry:
@Returns:
@registry:
@registry:
@dest:
@size:
@Returns:
@GST_XML_REGISTRY_READ:
@GST_XML_REGISTRY_WRITE:
@registry:
@mode:
@Returns:
@context:
@tag:
@text:
@text_len:
@registry:
@error:
@Returns:
@registry:
@format:
@Varargs:
@Returns:
@GST_XML_REGISTRY_NONE:
@GST_XML_REGISTRY_TOP:
@GST_XML_REGISTRY_PATHS:
@GST_XML_REGISTRY_PATH:
@GST_XML_REGISTRY_PATHS_DONE:
@GST_XML_REGISTRY_PLUGIN:
@GST_XML_REGISTRY_FEATURE:
@GST_XML_REGISTRY_PADTEMPLATE:
@GST_XML_REGISTRY_CAPS:
@GST_XML_REGISTRY_CAPSCOMP:
@GST_XML_REGISTRY_PROPERTIES:
@gstxml: the object which received the signal.
@arg1:
@arg2:
@cat:
@format:
@args...:
@cat:
@element:
@format:
@args...:
@meta:
@format:
@channels:
@frequency:
@bps:
@meta:
@bands:
@channels:
@interleaved:
@lowfreq:
@highfreq:
@steps:
@base:
@swidth:
@sheight:
@bytes_per_line:
@wx:
@wy:
@overlay_element:
@clip_count:
@overlay_clip:
@width:
@height:
@did_overlay:
@fully_obscured:
@meta:
@format:
@visual:
@width:
@height:
@overlay_info:
@dga_info:
@String:
@x1:
@x2:
@y1:
@y2:
must be defined to activate the tracing functionality.
@String:
@Domain:
@Directory:
@thread:
@key:
@Returns:
@Returns:
@Returns:
@thread:
@key:
@data:
@Domain:
@String:
@Type:
@Domain:
@String:
@context:
@new_cothread:
@context:
@func:
@argc:
@argv:
@cothread:
@context:
@cothread:
@cothread:
@context:
@func:
@argc:
@argv:
@to:
@cothread:
@x:
@stack:
@size:
@oclass:
@name:
@Returns:
@oclass:
@property_id:
@pspec:
@oclass:
@n_properties:
@Returns:
@type:
@blah_varargs_stuff:
@Returns:
@object:
@name:
@nick:
@blurb:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@min:
@max:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@e:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@min:
@max:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@min:
@max:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@min:
@max:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@flags:
@Returns:
@name:
@nick:
@blurb:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@min:
@max:
@def:
@flags:
@Returns:
@name:
@nick:
@blurb:
@min:
@max:
@def:
@flags:
@Returns:
@signal_name:
@object_type:
@signal_flags:
@function_offset:
@accumulator:
@Returns:
@parent_type:
@type_name:
@info:
@flags:
@Returns:
@list:
@llink:
@Returns:
@obj:
@argname:
@pspec:
@Returns:
@obj:
@o:
@args...:
@obj:
@o:
@id:
@o:
@id:
@x:
@type:
@n_ids:
@Returns:
@list:
@llink:
@Returns:
@c:
@c:
@t:
@t:
@t:
@src_val:
@dest_val:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@value:
@t:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@value:
@data:
@val:
@String:
@first:
@current:
@parent:
@current_bin_type:
@elements:
@links:
@links_pending:
@bins:
@bin:
@factory:
@Returns:
@Returns:
@Returns:
@pad:
@buf:
@Returns:
@name:
@Returns:
@audiosink:
@channels:
@audiosink:
@format:
@audiosink:
@frequency:
@audiosink:
@Returns:
@name:
@Returns:
@src:
@fac:
@sink:
@Returns:
@fac:
@src:
@Returns:
@src:
@dest:
@Returns:
@src:
@sink:
@Returns:
@autoplug:
@srcpad:
@sinkpad:
@Varargs:
@Returns:
@srccaps:
@sinkcaps:
@factories:
@dir:
@maxtemplates:
@Returns:
@factories:
@Returns:
@factories:
@Returns:
@factories:
@Returns:
@factories:
@Returns:
@factory:
@Returns:
@factory:
@name:
@Returns:
@Returns:
@Returns:
@fac:
@dir:
@Returns:
@fac:
@fac:
@parent:
@Returns:
@name:
@Returns:
@name:
@longdesc:
@type:
@Returns:
@factory:
@parent:
@Returns:
@Returns:
@fac:
@autoplug:
@object:
@src_caps:
@sink_caps:
@factories:
@Returns:
@autoplug:
@srccaps:
@sinkcaps:
@Varargs:
@Returns:
@autoplug:
@srccaps:
@target:
@Varargs:
@Returns:
@bin:
@element:
@bin:
@child:
@bin:
Free the memory allocated by this bin
@bin: the bin to free
@Returns:
@Returns:
@bin:
@element:
@bin:
@bin:
@element:
@manager:
@bin:
@state:
@type:
@Returns:
@buffer:
@meta:
@buffer:
@append:
@Returns:
@buf:
@buf2:
@buffer:
@Returns:
@buffer:
@Returns:
@buffer:
@Returns:
Queries if a copy needs to be ade of the buffer in order to safely write
to its data.
@buf: The buffer to query.
@pool:
@pool:
@buffer:
Checks if a copy needs to be made of the bufferpool before it can
safely be modified.
@pool: The pool to query
@pool:
@Returns:
@pool:
@copy:
@pool:
@destroy:
@pool:
@create:
@pool:
@create:
@user_data:
@pool:
@destroy:
@user_data:
@pool:
@destroy:
@buffer:
@meta:
@cache:
@id:
@flags:
@format:
@value:
@Varargs:
@Returns:
@cache:
@id:
@format:
@Returns:
@cache:
@id:
@description:
@Returns:
@cache:
@id:
@key:
@type:
@object:
@Returns:
@Returns:
@entry:
@format:
@value:
@Returns:
@entry:
@Returns:
@factory:
@Returns:
@factory:
@name:
@Returns:
@Returns:
@name:
@Returns:
@name:
@longdesc:
@type:
@Returns:
@cache:
@id:
@method:
@format:
@value:
@Returns:
@cache:
@id:
@method:
@format:
@value:
@func:
@user_data:
@Returns:
@cache:
@Returns:
@cache:
@Returns:
@cache:
@writer:
@id:
@Returns:
@Returns:
@Returns:
@cache:
@Returns:
@cache:
@certainty:
@cache:
@filter:
@user_data:
@cache:
@groupnum:
@Returns:
@cache:
@resolver:
@user_data:
@caps:
@string:
@label:
@caps:
@caps:
@Returns:
@fromcaps:
@tocaps:
@Returns:
@name:
@mime:
@props:
@Returns:
@factory:
@Returns:
@factory:
@counter:
@Returns:
@count:
@caps:
@type_id:
@clock:
@active:
@clock:
@Returns:
@clock:
@id:
@Returns:
@Returns:
@Returns:
@Returns:
@name:
@Returns:
@clock:
@interval:
@func:
@user_data:
@Returns:
@clock:
@id:
@Returns:
@clock:
@id:
@clock:
@time:
@jitter:
@Returns:
@clock:
@time:
@func:
@user_data:
@Returns:
@clock:
@id:
@jitter:
@Returns:
@Returns:
@data:
@Returns:
@data:
@Returns:
@data:
@Returns:
@category:
@level:
@file:
@function:
@line:
@object:
@format:
@args:
@Returns:
@element:
@state:
@Returns:
@klass:
@first_name:
@Varargs:
@a:
@b:
@a:
@b:
@c:
@a:
@...:
@a:
@b:
@c:
@d:
Destroys the element (without taking the refcount into account).
An application programmer should use #gst_object_unref instead to dispose
of an element he doesn't need anymore.
@element: a #GstElement to destroy
@a:
@b:
@elementfactory:
@templ:
@elementfactory:
@id:
@elementfactory:
@id:
@factory:
@caps:
@Returns:
@factory:
@caps:
@Returns:
@elementfactory:
@Returns:
@parent:
@Returns:
@factoryname:
@name:
@Returns:
@name:
@type:
@details:
@Returns:
@elementfactory:
@factory:
@parent:
@Returns:
@factory:
@rank:
@Returns:
@element:
@Returns:
@element:
@templ:
@Returns:
@element:
@templ:
@Returns:
@element:
@name:
@Returns:
@Returns:
@element:
@info:
@Varargs:
@klass:
@first_name:
@Varargs:
@element:
@Returns:
@src:
@dest:
@Returns:
@src:
@dest:
@filtercaps:
@Returns:
@element_1:
@element_2:
@Varargs:
@Returns:
@self:
@parent:
@Returns:
@elements:
@argc:
@argv:
@Returns:
@Returns:
@element:
@templ:
@Returns:
@element:
@templ:
@Returns:
@temp:
@element:
@name:
@Returns:
@self:
@parent:
@Returns:
@element:
@parent:
@Returns:
@element:
@cache:
@element:
@Returns:
@Returns:
@src:
@dest:
@pad:
@buf:
@Returns:
@esdsink:
@channels:
@esdsink:
@format:
@esdsink:
@frequency:
@esdsink:
@Returns:
@event:
@firstname:
@Varargs:
@Returns:
@Returns:
@Returns:
@pad:
@buf:
@factory:
@Returns:
@Returns:
@name:
@Returns:
@factory:
@Returns:
@Returns:
@name:
@Returns:
@src:
@pad:
@buf:
@Returns:
@name:
@Returns:
@name:
@fd:
@Returns:
@Returns:
@Returns:
@name:
@Returns:
@Returns:
@Returns:
@Returns:
@pad:
@buf:
@Returns:
@name:
@Returns:
@...:
@format:
@args...:
@Returns:
@Returns:
@name:
@Returns:
@link:
@closure:
@return_value:
@n_param_values:
@param_values:
@invocation_hint:
@marshal_data:
@closure:
@return_value:
@n_param_values:
@param_values:
@invocation_hint:
@marshal_data:
@closure:
@return_value:
@n_param_values:
@param_values:
@invocation_hint:
@marshal_data:
@closure:
@return_value:
@n_param_values:
@param_values:
@invocation_hint:
@marshal_data:
@closure:
@return_value:
@n_param_values:
@param_values:
@invocation_hint:
@marshal_data:
@factory:
@Returns:
Create new meta data.
@type: the type of the meta data to create
@size:
@Returns:
@meta:
@meta:
@object: the object
@Returns:
@Returns:
@Returns:
@pad:
@parent:
@a:
@b:
@a:
@b:
@c:
Destroy the pad.
@pad: the pad to destroy
@Returns:
@a:
@b:
Call the EOS function of the pad
@pad: the pad to call the eos function of.
@pad:
@Returns:
@pad:
@event:
@timestamp:
@data:
@Returns:
@Returns:
@pad:
@name:
@Returns:
@pad:
@Returns:
@pad:
@Returns:
@pad:
@Returns:
@Returns:
@pad:
@Returns:
@pad:
@qos_message:
@pad:
@mask:
@Returns:
@pad:
@format:
@Returns:
@Returns:
@srcpad:
@destpad:
@caps:
@Returns:
@counter:
@count:
@Returns:
@probe:
@single_shot:
@callback:
@user_data:
@Returns:
@probe:
@data:
@Returns:
@a:
@b:
@pad:
@offset:
@size:
@Returns:
@pad:
@type:
@offset:
@len:
@Returns:
@size:
@Returns:
@pad:
@parent:
@pad:
@Returns:
@pad:
@parent:
@Returns:
@pad:
@caps:
@Returns:
@pad:
@caps:
@a:
@b:
@pad:
@Returns:
@pad:
@eos:
@pad:
@getregion:
@pad:
@nego:
@pad:
@newcaps:
@pad:
@pull:
@pad:
@qos:
@pad:
@id:
@name_template:
@direction:
@presence:
@caps:
@Returns:
@Returns:
@parent:
@Returns:
@templ:
@parent:
@Returns:
@srcpad:
@sinkpad:
@Returns:
@Returns:
Destroys the pipeline.
@pipeline: #GstPipeline to destroy
@Returns:
@pipeline:
@plugin:
@factory:
@plugin:
@factory:
@path:
@plugin:
@factory:
@Returns:
@Returns:
@name:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@Returns:
@plugin:
@Returns:
@plugin:
@Returns:
@name:
@Returns:
@name:
@Returns:
@name:
@Returns:
@plugin:
@error:
@Returns:
@parent:
@mime:
@filename:
@Returns:
@parent:
@Returns:
@plugin:
@longname:
@plugin:
@name:
@props:
@props:
@name:
@Returns:
@props:
@name:
@Returns:
@props:
@name:
@Returns:
@props:
@name:
@Returns:
@props:
@name:
@Returns:
@factory:
@Returns:
@factory:
@counter:
@Returns:
@Returns:
@pad:
@buf:
@Returns:
@name:
@Returns:
@link:
@Returns:
@Returns:
@registry:
@Returns:
@Returns:
@Returns:
@Returns:
@sched:
@element:
@sched:
@element:
@sched:
@element:
@sched:
@Returns:
@parent:
@Returns:
@sched:
@srcpad:
@sinkpad:
@sched:
@padlist:
@Returns:
@sched:
@srcpad:
@sinkpad:
@sched:
@element:
@sched:
Destroy the scheduler
@sched: The scheduler to destroy.
@sched:
@element:
@sched:
@element:
@Returns:
@Returns:
@Returns:
@sched:
@stack:
@size:
@Returns:
@Returns:
@Returns:
@Returns:
@Returns:
@name:
@Returns:
@src:
@Returns:
@name:
@Returns:
@name:
@Returns:
@name:
@Returns:
@ident:
@element:
@templ:
@name:
@Returns:
@ident:
@Returns:
@src:
@src:
@offset:
@size:
@src:
@pad:
@buf:
@factory:
@Returns:
@Returns:
@name:
@Returns:
@tee:
@Returns:
@Returns:
@thread:
@arg:
@Returns:
@tc:
@location:
@timestamp:
@tc:
@location:
@timestamp:
@Returns:
@tc:
@timestamp:
@location:
@Returns:
@tc:
@Returns:
@tc:
@Returns:
@Returns:
@tc:
@Returns:
@tc:
@certainty:
@tc:
@groupnum:
@Returns:
@trace:
@seq:
@data:
@msg:
@trace:
@trace:
@trace:
@trace:
@trace:
@filename:
@size:
@Returns:
@dst:
@trace:
@trace:
@id:
@sink:
@id:
@src:
@Returns:
@parent:
@Returns:
@factory:
@parent:
@Returns:
@plugin:
@name:
@rank:
@func:
@extensions:
@possible_caps:
@data:
@sinkid:
@srcid:
@Returns:
@id:
@Returns:
@id:
@Returns:
@parent:
@Returns:
@type:
@parent:
@Returns:
@handler:
@name:
@Returns:
@handler:
@name:
@Returns:
@uri:
@Returns:
@uri:
@name:
@Returns:
@name:
@uri:
@longdesc:
@element:
@property:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@Returns:
@object:
@argname:
@arg_type:
@Returns:
@buffer:
@size:
@root:
@Returns:
@name:
@location:
@Returns:
@name:
@Returns:
@name:
@Returns:
@buffers:
@bytes:
@events:
@String: