uridecodebin

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.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBin
                    ╰──uridecodebin

Factory details

Authors: – Wim Taymans

Classification:Generic/Bin/Decoder

Rank – none

Plugin – gstplayback

Package – GStreamer Base Plug-ins git

Pad Templates

src_%u

ANY

Presencesometimes

Directionsrc


Signals

autoplug-continue

gboolean
autoplug_continue_callback (GstElement * bin,
                            GstPad * pad,
                            GstCaps * caps,
                            gpointer udata)
def autoplug_continue_callback (bin, pad, caps, udata):
    #python callback for the 'autoplug-continue' signal
function autoplug_continue_callback(bin: GstElement * bin, pad: GstPad * pad, caps: GstCaps * caps, udata: gpointer udata): {
    // javascript callback for the 'autoplug-continue' signal
}

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.

Parameters:

bin

The uridecodebin.

pad

The GstPad.

caps

The GstCaps found.

udata
No description available
Returns ( gboolean ) –

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).


autoplug-factories

GValueArray *
autoplug_factories_callback (GstElement * bin,
                             GstPad * pad,
                             GstCaps * caps,
                             gpointer udata)
def autoplug_factories_callback (bin, pad, caps, udata):
    #python callback for the 'autoplug-factories' signal
function autoplug_factories_callback(bin: GstElement * bin, pad: GstPad * pad, caps: GstCaps * caps, udata: gpointer udata): {
    // javascript callback for the 'autoplug-factories' signal
}

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!

Parameters:

bin

The uridecodebin.

pad

The GstPad.

caps

The GstCaps found.

udata
No description available
Returns ( GValueArray * ) –

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".


autoplug-query

gboolean
autoplug_query_callback (GstElement * param_0,
                         GstPad * param_1,
                         GstElement * param_2,
                         GstQuery * param_3,
                         gpointer udata)
def autoplug_query_callback (param_0, param_1, param_2, param_3, udata):
    #python callback for the 'autoplug-query' signal
function autoplug_query_callback(param_0: GstElement * param_0, param_1: GstPad * param_1, param_2: GstElement * param_2, param_3: GstQuery * param_3, udata: gpointer udata): {
    // javascript callback for the 'autoplug-query' signal
}

Parameters:

param_0
No description available
param_1
No description available
param_2
No description available
param_3
No description available
udata
No description available
Returns ( gboolean ) –
No description available

autoplug-select

GstAutoplugSelectResult *
autoplug_select_callback (GstElement * bin,
                          GstPad * pad,
                          GstCaps * caps,
                          GstElementFactory * factory,
                          gpointer udata)
def autoplug_select_callback (bin, pad, caps, factory, udata):
    #python callback for the 'autoplug-select' signal
function autoplug_select_callback(bin: GstElement * bin, pad: GstPad * pad, caps: GstCaps * caps, factory: GstElementFactory * factory, udata: gpointer udata): {
    // javascript callback for the 'autoplug-select' signal
}

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 GstAutoplugSelectResult enum value indicating what decodebin should do next.

A value of try will try to autoplug an element from factory.

A value of expose will expose pad without plugging any element to it.

A value of 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.

udata
No description available
Returns ( GstAutoplugSelectResult * ) –

a GstAutoplugSelectResult that indicates the required operation. The default handler will always return try.


autoplug-sort

GValueArray *
autoplug_sort_callback (GstElement * bin,
                        GstPad * pad,
                        GstCaps * caps,
                        GValueArray * factories,
                        gpointer udata)
def autoplug_sort_callback (bin, pad, caps, factories, udata):
    #python callback for the 'autoplug-sort' signal
function autoplug_sort_callback(bin: GstElement * bin, pad: GstPad * pad, caps: GstCaps * caps, factories: GValueArray * factories, udata: gpointer udata): {
    // javascript callback for the 'autoplug-sort' signal
}

Once decodebin has found the possible GstElementFactory objects to try for caps on pad, this signal is emitted. 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.

udata
No description available
Returns ( GValueArray * ) –

A new sorted array of GstElementFactory objects.


drained

drained_callback (GstElement * param_0,
                  gpointer udata)
def drained_callback (param_0, udata):
    #python callback for the 'drained' signal
function drained_callback(param_0: GstElement * param_0, udata: gpointer udata): {
    // javascript callback for the 'drained' signal
}

This signal is emitted when the data for the current uri is played.

Parameters:

param_0
No description available
udata
No description available

no-more-pads

no_more_pads_callback (GstElement * param_0,
                       gpointer udata)
def no_more_pads_callback (param_0, udata):
    #python callback for the 'no-more-pads' signal
function no_more_pads_callback(param_0: GstElement * param_0, udata: gpointer udata): {
    // javascript callback for the 'no-more-pads' signal
}

Parameters:

param_0
No description available
udata
No description available

pad-added

pad_added_callback (GstElement * param_0,
                    GstPad * param_1,
                    gpointer udata)
def pad_added_callback (param_0, param_1, udata):
    #python callback for the 'pad-added' signal
function pad_added_callback(param_0: GstElement * param_0, param_1: GstPad * param_1, udata: gpointer udata): {
    // javascript callback for the 'pad-added' signal
}

Parameters:

param_0
No description available
param_1
No description available
udata
No description available

pad-removed

pad_removed_callback (GstElement * param_0,
                      GstPad * param_1,
                      gpointer udata)
def pad_removed_callback (param_0, param_1, udata):
    #python callback for the 'pad-removed' signal
function pad_removed_callback(param_0: GstElement * param_0, param_1: GstPad * param_1, udata: gpointer udata): {
    // javascript callback for the 'pad-removed' signal
}

Parameters:

param_0
No description available
param_1
No description available
udata
No description available

source-setup

source_setup_callback (GstElement * bin,
                       GstElement * source,
                       gpointer udata)
def source_setup_callback (bin, source, udata):
    #python callback for the 'source-setup' signal
function source_setup_callback(bin: GstElement * bin, source: GstElement * source, udata: gpointer udata): {
    // javascript callback for the 'source-setup' signal
}

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

udata
No description available

unknown-type

unknown_type_callback (GstElement * bin,
                       GstPad * pad,
                       GstCaps * caps,
                       gpointer udata)
def unknown_type_callback (bin, pad, caps, udata):
    #python callback for the 'unknown-type' signal
function unknown_type_callback(bin: GstElement * bin, pad: GstPad * pad, caps: GstCaps * caps, udata: gpointer udata): {
    // javascript callback for the 'unknown-type' signal
}

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.

udata
No description available

Properties

async-handling

“async-handling” gboolean

The bin will handle Asynchronous state changes

Flags : Read / Write

Default value : false


buffer-duration

“buffer-duration” gint64

Buffer duration when buffering streams (-1 default value)

Flags : Read / Write

Default value : 18446744073709551615


buffer-size

“buffer-size” gint

Buffer size when buffering streams (-1 default value)

Flags : Read / Write

Default value : -1


caps

“caps” GstCaps *

The caps on which to stop decoding. (NULL = default)

Flags : Read / Write

Default value :

video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708

connection-speed

“connection-speed” guint64

Network connection speed in kbps (0 = unknown)

Flags : Read / Write

Default value : 0


download

“download” gboolean

Attempt download buffering when buffering network streams

Flags : Read / Write

Default value : false


expose-all-streams

“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


message-forward

“message-forward” gboolean

Forwards all children messages

Flags : Read / Write

Default value : false


name

“name” gchararray

The name of the object

Flags : Read / Write / Construct

Default value : NULL


parent

“parent” GstObject *

The parent of the object

Flags : Read / Write


ring-buffer-max-size

“ring-buffer-max-size” guint64

Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)

Flags : Read / Write

Default value : 0


source

“source” GstElement *

Source object used

Flags : Read


subtitle-encoding

“subtitle-encoding” gchararray

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


uri

“uri” gchararray

URI to decode

Flags : Read / Write

Default value : NULL


use-buffering

“use-buffering” gboolean

Perform buffering on demuxed/parsed media

Flags : Read / Write

Default value : false


Named constants

Autoplug-select-result

Members

try (0) – GST_AUTOPLUG_SELECT_TRY
expose (1) – GST_AUTOPLUG_SELECT_EXPOSE
skip (2) – GST_AUTOPLUG_SELECT_SKIP

The results of the search are