# urisourcebin

urisourcebin is an element for accessing URIs in a uniform manner.

It handles selecting a URI source element and potentially download buffering for network sources. It produces one or more source pads, depending on the input source, for feeding to decoding chains or decodebin.

The main configuration is via the uri property.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBin
                        ╰──urisourcebin

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – Jan Schmidt <jan></jan>

Classification: – `Generic/Bin/Source`

Rank – none

Plugin – playback

Package – GStreamer Base Plug-ins

## Pad Templates

### `src_%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 current uri is played.

Parameters:

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

Flags: Run Last

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

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

`source` –

source element

`udata` –
No description available

Flags: Run Last

Since : 1.6.1

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

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

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

Flags : Read / Write

Default value : NULL

Since : 1.24

### high-watermark

    “high-watermark” gdouble

High threshold for buffering to finish. Only used if use-buffering is True

Flags : Read / Write

Default value : 0.6

### low-watermark

    “low-watermark” gdouble

Low threshold for buffering to start. Only used if use-buffering is True

Flags : Read / Write

Default value : 0.01

### parse-streams

    “parse-streams” gboolean

A `parsebin` element will be used on all non-raw streams, and urisourcebin will output the elementary streams. Recommended when buffering is used since it will provide accurate buffering levels.

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

### source

    “source” GstElement *

Source object used

Flags : Read

### statistics

    “statistics” GstStructure *

A set of statistics over all the queue-like elements contained in this element

Flags : Read

Default value :

    application/x-urisourcebin-stats, minimum-byte-level=(uint)0, maximum-byte-level=(uint)0, average-byte-level=(uint)0, minimum-time-level=(guint64)0, maximum-time-level=(guint64)0, average-time-level=(guint64)0;

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

The results of the search are