# uridecodebin3

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

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBin
                        ╰──uridecodebin3

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – Edward Hervey <edward@centricular.com>, Jan Schmidt <jan@centricular.com></jan@centricular.com></edward@centricular.com>

Classification: – `Generic/Bin/Decoder`

Rank – none

Plugin – playback

Package – GStreamer Base Plug-ins

## Pad Templates

### `audio_%u`

    ANY

Presence – sometimes

Direction – src

Object type – GstPad

### `src_%u`

    ANY

Presence – sometimes

Direction – src

Object type – GstPad

### `text_%u`

    ANY

Presence – sometimes

Direction – src

Object type – GstPad

### `video_%u`

    ANY

Presence – sometimes

Direction – src

Object type – GstPad

## Signals

### about-to-finish

    about_to_finish_callback (GstElement * param_0,
                              gpointer udata)

    def about_to_finish_callback (param_0, udata):
        #python callback for the 'about-to-finish' signal

    function about_to_finish_callback(param_0: GstElement * param_0, udata: gpointer udata): {
        // javascript callback for the 'about-to-finish' signal
    }

This signal is emitted when the data for the selected URI is entirely buffered and it is safe to specify another URI.

Parameters:

`param_0` –
No description available
`udata` –
No description available

Flags: Run Last

### select-stream

    gint
    select_stream_callback (GstElement * decodebin,
                            GstStreamCollection * collection,
                            GstStream * stream,
                            gpointer udata)

    def select_stream_callback (decodebin, collection, stream, udata):
        #python callback for the 'select-stream' signal

    function select_stream_callback(decodebin: GstElement * decodebin, collection: GstStreamCollection * collection, stream: GstStream * stream, udata: gpointer udata): {
        // javascript callback for the 'select-stream' signal
    }

This signal is emitted whenever decodebin needs to decide whether to expose a stream of a given collection.

Note that the prefered way to select streams is to listen to GST_MESSAGE_STREAM_COLLECTION on the bus and send a GST_EVENT_SELECT_STREAMS with the streams the user wants.

Parameters:

`decodebin` –

a uridecodebin3

`collection` –

a GstStreamCollection

`stream` –

a GstStream

`udata` –
No description available
Returns (gint) –

1 if the stream should be selected, 0 if it shouldn't be selected. A value of -1 (default) lets decodebin decide what to do with the stream.

Flags: Run Last

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

Parameters:

`bin` –

the uridecodebin.

`source` –

source element

`udata` –
No description available

Flags: Run Last

## Properties

### 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; application/x-onvif-metadata; meta/x-klv; meta/x-id3; meta/x-st-2038

### connection-speed

    “connection-speed” guint64

Network connection speed in kbps (0 = unknown)

Flags : Read / Write

Default value : 0

### current-suburi

    “current-suburi” gchararray

The currently playing URI of a subtitle

Flags : Read

Default value : NULL

### current-uri

    “current-uri” gchararray

The currently playing URI

Flags : Read

Default value : NULL

### download

    “download” gboolean

Attempt download buffering when buffering network streams

Flags : Read / Write

Default value : false

### download-dir

    “download-dir” gchararray

The directory where buffers are downloaded to, if 'download' is enabled. If not set (default), the XDG cache directory is used. Will be applied to the next 'uri' played or until the element go back to the PAUSED state.

Flags : Read / Write

Default value : NULL

Since : 1.24

### instant-uri

    “instant-uri” gboolean

Changes to uri are applied immediately (instead of on EOS or when the element is set back to PLAYING).

Flags : Read / Write

Default value : false

Since : 1.22

### 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

### suburi

    “suburi” gchararray

Optional URI of a subtitle

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

The results of the search are