Top |
Properties
gint64 | buffer-duration | Read / Write |
gint | buffer-size | Read / Write |
GstCaps * | caps | Read / Write |
guint64 | connection-speed | Read / Write |
gboolean | download | Read / Write |
gboolean | expose-all-streams | Read / Write |
guint64 | ring-buffer-max-size | Read / Write |
GstElement * | source | Read |
gchar * | subtitle-encoding | Read / Write |
gchar * | uri | Read / Write |
gboolean | use-buffering | Read / Write |
Signals
gboolean | autoplug-continue | Run Last |
GValueArray* | autoplug-factories | Run Last |
gboolean | autoplug-query | Run Last |
GstAutoplugSelectResult | autoplug-select | Run Last |
GValueArray* | autoplug-sort | Run Last |
void | drained | Run Last |
void | source-setup | Run Last |
void | unknown-type | Run Last |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstBin ╰── GstURIDecodeBin
Description
Decodes data from a URI into raw media. It selects a source element that can handle the given “uri” scheme and connects it to a decodebin.
Synopsis
Element Information
plugin |
playback |
author |
Wim Taymans <wim.taymans@gmail.com> |
class |
Generic/Bin/Decoder |
Property Details
The “buffer-duration”
property
“buffer-duration” gint64
Buffer duration when buffering streams (-1 default value).
Flags: Read / Write
Allowed values: >= G_MAXULONG
Default value: -1
The “buffer-size”
property
“buffer-size” gint
Buffer size when buffering streams (-1 default value).
Flags: Read / Write
Allowed values: >= G_MAXULONG
Default value: -1
The “caps”
property
“caps” GstCaps *
The caps on which to stop decoding. (NULL = default).
Flags: Read / Write
The “connection-speed”
property
“connection-speed” guint64
Network connection speed in kbps (0 = unknown).
Flags: Read / Write
Allowed values: <= 18446744073709551
Default value: 0
The “download”
property
“download” gboolean
Attempt download buffering when buffering network streams.
Flags: Read / Write
Default value: FALSE
The “expose-all-streams”
property
“expose-all-streams” gboolean
Expose all streams, including those of unknown type or that don't match the 'caps' property.
Flags: Read / Write
Default value: TRUE
The “ring-buffer-max-size”
property
“ring-buffer-max-size” guint64
Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled).
Flags: Read / Write
Allowed values: <= G_MAXUINT
Default value: 0
The “subtitle-encoding”
property
“subtitle-encoding” gchar *
Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.
Flags: Read / Write
Default value: NULL
The “use-buffering”
property
“use-buffering” gboolean
Perform buffering on demuxed/parsed media.
Flags: Read / Write
Default value: FALSE
Signal Details
The “autoplug-continue”
signal
gboolean user_function (GstURIDecodeBin *bin, GstPad *pad, GstCaps *caps, gpointer user_data)
This signal is emitted whenever uridecodebin finds a new stream. It is emitted before looking for any elements that can handle that stream.
Invocation of signal handlers stops after the first signal handler returns
FALSE
. Signal handlers are invoked in the order they were connected in.
Returns
TRUE
if you wish uridecodebin to look for elements that can
handle the given caps
. If FALSE
, those caps will be considered as
final and the pad will be exposed as such (see 'pad-added' signal of
GstElement).
Flags: Run Last
The “autoplug-factories”
signal
GValueArray* user_function (GstURIDecodeBin *bin, GstPad *pad, GstCaps *caps, gpointer user_data)
This function is emitted when an array of possible factories for caps
on
pad
is needed. Uridecodebin will by default return an array with all
compatible factories, sorted by rank.
If this function returns NULL, pad
will be exposed as a final caps.
If this function returns an empty array, the pad will be considered as having an unhandled type media type.
Only the signal handler that is connected first will ever by invoked. Don't connect signal handlers with the G_CONNECT_AFTER flag to this signal, they will never be invoked!
Returns
a GValueArray* with a list of factories to try. The factories are by default tried in the returned order or based on the index returned by "autoplug-select".
Flags: Run Last
The “autoplug-query”
signal
gboolean user_function (GstURIDecodeBin *gsturidecodebin, GstPad *arg1, GstElement *arg2, GstQuery *arg3, gpointer user_data)
Flags: Run Last
The “autoplug-select”
signal
GstAutoplugSelectResult user_function (GstURIDecodeBin *bin, GstPad *pad, GstCaps *caps, GstElementFactory *factory, gpointer user_data)
This signal is emitted once uridecodebin has found all the possible
GstElementFactory that can be used to handle the given caps
. For each of
those factories, this signal is emitted.
The signal handler should return a GST_TYPE_AUTOPLUG_SELECT_RESULT enum value indicating what decodebin should do next.
A value of GST_AUTOPLUG_SELECT_TRY will try to autoplug an element from
factory
.
A value of GST_AUTOPLUG_SELECT_EXPOSE will expose pad
without plugging
any element to it.
A value of GST_AUTOPLUG_SELECT_SKIP will skip factory
and move to the
next factory.
The signal handler will not be invoked if any of the previously registered signal handlers (if any) return a value other than GST_AUTOPLUG_SELECT_TRY. Which also means that if you return GST_AUTOPLUG_SELECT_TRY from one signal handler, handlers that get registered next (again, if any) can override that decision.
Parameters
bin |
The uridecodebin. |
|
pad |
The GstPad. |
|
caps |
The GstCaps. |
|
factory |
A GstElementFactory to use. |
|
user_data |
user data set when the signal handler was connected. |
Returns
a GST_TYPE_AUTOPLUG_SELECT_RESULT that indicates the required operation. The default handler will always return GST_AUTOPLUG_SELECT_TRY.
Flags: Run Last
The “autoplug-sort”
signal
GValueArray* user_function (GstURIDecodeBin *bin, GstPad *pad, GstCaps *caps, GValueArray *factories, gpointer user_data)
Once decodebin has found the possible GstElementFactory objects to try
for caps
on pad
, this signal is emited. The purpose of the signal is for
the application to perform additional sorting or filtering on the element
factory array.
The callee should copy and modify factories
or return NULL
if the
order should not change.
Invocation of signal handlers stops after one signal handler has returned something else than
NULL
. Signal handlers are invoked in the order they were connected in. Don't connect signal handlers with the G_CONNECT_AFTER flag to this signal, they will never be invoked!
Parameters
bin |
The uridecodebin. |
|
pad |
The GstPad. |
|
caps |
The GstCaps. |
|
factories |
A GValueArray of possible GstElementFactory to use. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
The “drained”
signal
void user_function (GstURIDecodeBin *gsturidecodebin, gpointer user_data)
This signal is emitted when the data for the current uri is played.
Flags: Run Last
The “source-setup”
signal
void user_function (GstURIDecodeBin *bin, GstElement *source, gpointer user_data)
This signal is emitted after the source element has been created, so it can be configured by setting additional properties (e.g. set a proxy server for an http source, or set the device and read speed for an audio cd source). This is functionally equivalent to connecting to the notify::source signal, but more convenient.
Parameters
bin |
the uridecodebin. |
|
source |
source element |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
The “unknown-type”
signal
void user_function (GstURIDecodeBin *bin, GstPad *pad, GstCaps *caps, gpointer user_data)
This signal is emitted when a pad for which there is no further possible decoding is added to the uridecodebin.
Parameters
bin |
The uridecodebin. |
|
pad |
the new pad containing caps that cannot be resolved to a 'final'. stream type. |
|
caps |
the GstCaps of the pad that cannot be resolved. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last