urisourcebin: Improve buffering handling
authorEdward Hervey <edward@centricular.com>
Wed, 9 Nov 2022 15:44:18 +0000 (16:44 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 16 Nov 2022 14:01:46 +0000 (14:01 +0000)
commit412c4cbca39b3f777160595327344d397aa20569
tree3921ac42dcb66a3a41735cb6bfd0c884ac92b680
parentfa4a70d7fe4b5421a793f09353bca38888cf8998
urisourcebin: Improve buffering handling

Introduce the option to have the streams be parsed with `parsebin` for
compatible sources (i.e. which are eligible for buffering in the same way as
before this commit).

By parsing the inputs directly, this allows more accurate buffering control:
* Instead of relying on potential bitrate information coming from somewhere
* and *without* being linked downstream

If `parse-streams` is activated and the stream is eligible for buffering, then a
`multiqueue` will be used on the output of `parsebin` in order to handle the
buffering.

API: `parse-streams`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>
subprojects/gst-plugins-base/docs/plugins/gst_plugins_cache.json
subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c