This now follows the algorithm again that is described in the documentation and implemented in gstreamer-rs. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5243>
It is more coherent, in the same vein as 08dc5d29 Fixes #2640 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4911>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>