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 470456 - [API] add gst_missing_*_installer_detail_new()
[API] add gst_missing_*_installer_detail_new()
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: 0.10.15
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2007-08-26 15:05 UTC by Tim-Philipp Müller
Modified: 2007-08-28 14:27 UTC
See Also:
GNOME target: ---
GNOME version: ---

proposed API addition with docs and unit test (14.27 KB, patch)
2007-08-26 15:06 UTC, Tim-Philipp Müller
committed Details | Review

Description Tim-Philipp Müller 2007-08-26 15:05:38 UTC
In Thoggen I know exactly what desirable plugins are missing (e.g. ffdeinterlace) and want to call the external installer to have them installed.  With the current API I need to first create a dummy GstElement, then a dummy GstMessage, then get the installer detail string from the message, then unref message and element and then call the installer with the installer detail string retrieved.

This would be much easier if we could create installer detail strings directly, ie:

gchar * gst_missing_uri_source_installer_detail_new (const gchar * protocol);

gchar * gst_missing_uri_sink_installer_detail_new (const gchar * protocol);

gchar * gst_missing_element_installer_detail_new (const gchar * factory_name);

gchar * gst_missing_decoder_installer_detail_new (const GstCaps * decode_caps);

gchar * gst_missing_encoder_installer_detail_new (const GstCaps * encode_caps);

The attached patch adds API, documentation and unit tests for that.
Comment 1 Tim-Philipp Müller 2007-08-26 15:06:09 UTC
Created attachment 94376 [details] [review]
proposed API addition with docs and unit test
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2007-08-27 20:08:41 UTC
Yes yes, and first check if the platform has a plugin-installer backend.
Comment 3 Tim-Philipp Müller 2007-08-28 14:27:53 UTC
Committed after discussion on IRC:

  2007-08-28  Tim-Philipp Müller  <tim at centricular dot net>

        * docs/libs/gst-plugins-base-libs-sections.txt:
        * gst-libs/gst/pbutils/missing-plugins.c:
        * gst-libs/gst/pbutils/missing-plugins.h:
        * tests/check/libs/pbutils.c:
          API: add gst_missing_*_installer_detail_new() convenience API so
          that applications that know exactly what they're missing can request
          installer detail strings for those items directly instead of having
          to first create a dummy missing-plugin message and then get the
          installer detail string from that.  Fixes #470456.