The uridecodebin element is very similar to decodebin, only that it automatically plugs a source plugin based on the protocol of the URI given.
Uridecodebin will also automatically insert buffering elements when the uri is a slow network source. The buffering element will post BUFFERING messages that the application needs to handle as explained in Chapter 15, Buffering. The following properties can be used to configure the buffering method:
The buffer-size property allows you to configure a maximum size in bytes for the buffer element.
The buffer-duration property allows you to configure a maximum size in time for the buffer element. The time will be estimated based on the bitrate of the network.
With the download property you can enable the download buffering method as described in the section called “Download buffering ”. Setting this option to TRUE will only enable download buffering for selected formats such as quicktime, flash video, avi and webm.
You can also enable buffering on the parsed/demuxed data with the use-buffering property. This is interesting to enable buffering on slower random access media such as a network file server.
URIDecodebin can be easily tested on the commandline, e.g. by using the command gst-launch-1.0 uridecodebin uri=file:///file.ogg ! ! audioconvert ! audioresample ! autoaudiosink.