GNOME Bugzilla – Bug 755395
Provides static C++ API for GStreamer plugins
Last modified: 2021-07-05 13:18:00 UTC
Providing static C++ API for GStreamer plugins like this is less than ideal, it kind of defeats the purpose of plugins. They might be available or not on the target system, and if I understand the code correctly the constructors of these are going to fail miserably on systems where a plugin is not available. As a consequence, distribution packages would have to depend on all possible plugins that are supported by gstreamermm. Which are not even all at this point. To make things even more ugly, things like the ALSA plugin might not even be available on various platforms. IMHO this C++ API for plugins should disappear, and applications should use dynamic API to handle GStreamer plugins.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799723 for some context
Thanks for your report. Actually, I was considering remove C++ plugins API long time ago, but it breaks library API. I have some other things to do, which break gstreamermm API, so I'd probably remove static plugins then. However, gstreamermm is currently not very popular library, so I think we should break the API ASAP (maybe on v1.6 release).
Sounds good to me :) GStreamer 1.6.0 is due end of this week btw
Btw., could you tell me, if gstreamermm is built with --enable-maintainer-mode flag? If not, you don't have to have all plugins installed in your system.
It's build with --disable-maintainer-mode. But nonetheless you would still have useless API :)
OK, I see. But I'm just trying to understand, why distribution packages would have to depend on all possible plugins wrapped in gstreamermm. For now, we could just throw the exception in constructor, if plugin doesn't exist.
Any progress on this? This apparently also makes it a bit tricky to use gstreamermm on Windows: https://twitter.com/robdaemon/status/752507992239513600
The plugin API will be removed in the 1.8 version, which is going to be released very soon :)
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gstreamermm/-/issues/ Thank you for your understanding and your help.