Proposal: Moving parser + waylandsink plugins from gst-plugins-bad to gst-plugins-good

Hi all,

I’d like to ask about the current status and long‑term plans for a few plugins that still reside in gst-plugins-bad, specifically some of the parser plugins and waylandsink. These plugins seem stable and well maintained.Given their stability and adoption, would it make sense to consider moving them to gst-plugins-good.

It would reduce the dependency footprint for users who only need these specific plugins but otherwise want to avoid relying on -bad.

CC: @Pratik

@ndufresne

Both depends on unstable API, which has only been allowed in -bad (bad means unstable ABI/API, nothing else). Do not confused API/ABI stability with library stability, -bad is pretty much as stable as everything else these days. It has been proposed here already, and approved in principle. This would be moved along with libgstcodecs library to implement stateless decoders (DXVA, VA, NVDEC, V4L2, Vulkan). As time goes, we found that each of these stateless API comes with evolving requirement, which to support in our parser requires constant ABI break. Instead of making the parser more and more complex, we pretty much agreed that a move will happen, but the library will remain an unstable API/ABI library. We’d reflect this by proactively bumping the SO version every major release (and if a break is absolutly needed in a dev cycle. One major event is conflicting with this effort, which is the transition of security risk to Rust. But whatever happens first will be accepted of course, the second would be more “final”.

For waylandsink, this depends on libgstwayland. My personal opinion is that this library still have major flaws and races. It is also not well designed enough to replace wayland support inside libgstgl and libgstvulkan (even though its a lot better then the GL/Vulkan current Wayland support). So far, this has been improved (slowly) by bunch of people from Collabora on spare time (or as we hit specific issues), but if there is traction elsewhere, I’m happy to help structure the effort and improve transparency. My first goal this year is to rework the frame submission, to fix the raciness, but also to be able to support the new timed commits.