Use new GStreamer elements
From https://gstreamer.freedesktop.org/releases/1.22/
Playbin3, Decodebin3, UriDecodebin3, Parsebin improvements
The "new" playback elements introduced in 1.18 (playbin3 and its various components) have been refactored to allow more use-cases and improve performance. They are no longer considered experimental, so applications using the legacy playback elements (playbin and (uri)decodebin) can migrate to the new components to benefit from these improvements.
Given v1.22 will soon be our min requirement, we can look at moving to these new elements.
Can you assign this to me
Sure. Just to be clear, we need this all to work at least as well as our current setup for all our use cases. This includes local scanning, responsive seeking, metadata, gapless, and buffering. Also note we no longer need appsrc support, as per https://github.com/mopidy/mopidy/pull/2120
More details at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784 and also https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/268#note_2280661 (which we can't use because it needs gst 1.24?)
Looks interesting, especially with the gapless improvements. But, I dread the work of verifying that everything still works as expected.
The rewrite of uriplaylistbin is about to be merged, so not something we can easily benefit from in a while.
Looks interesting, especially with the gapless improvements. But, I dread the work of verifying that everything still works as expected.
My thoughts exactly.
Gstreamer development seems to move fast and sometimes be broken. Which is ok, unless you are targeting a stable release... I'd be a bit worried about what might still be lurking in newer parts of 1.22 that'll find its way into Ubuntu LTS soon.