After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 755395 - Provides static C++ API for GStreamer plugins
Provides static C++ API for GStreamer plugins
Status: RESOLVED OBSOLETE
Product: gstreamermm
Classification: Bindings
Component: general
git master
Other Linux
: Normal major
: ---
Assigned To: gstreamermm-maint
gstreamermm-maint
Depends on:
Blocks:
 
 
Reported: 2015-09-22 09:00 UTC by Sebastian Dröge (slomo)
Modified: 2021-07-05 13:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2015-09-22 09:00:24 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.
Comment 1 Sebastian Dröge (slomo) 2015-09-22 09:03:22 UTC
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799723 for some context
Comment 2 Marcin Kolny (IRC: loganek) 2015-09-22 21:19:51 UTC
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).
Comment 3 Sebastian Dröge (slomo) 2015-09-23 07:41:22 UTC
Sounds good to me :) GStreamer 1.6.0 is due end of this week btw
Comment 4 Marcin Kolny (IRC: loganek) 2015-10-18 20:56:58 UTC
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.
Comment 5 Sebastian Dröge (slomo) 2015-10-19 06:12:19 UTC
It's build with --disable-maintainer-mode. But nonetheless you would still have useless API :)
Comment 6 Marcin Kolny (IRC: loganek) 2015-10-19 08:25:49 UTC
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.
Comment 7 Sebastian Dröge (slomo) 2016-07-11 16:08:29 UTC
Any progress on this? This apparently also makes it a bit tricky to use gstreamermm on Windows: https://twitter.com/robdaemon/status/752507992239513600
Comment 8 Marcin Kolny (IRC: loganek) 2016-07-11 17:00:22 UTC
The plugin API will be removed in the 1.8 version, which is going to be released very soon :)
Comment 9 GNOME Infrastructure Team 2021-07-05 12:28:14 UTC
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.