[gstreamer-bugs] [Bug 510187] gst_plugin_register_static() API review and GST_PLUGIN_DEFINE_STATIC deprecation

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sun Jan 20 07:06:00 PST 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=510187

  GStreamer | gstreamer (core) | Ver: HEAD CVS

Tim-Philipp Müller changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #103251|accepted-commit_now         |committed
               Flag|                            |
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED




------- Comment #17 from Tim-Philipp Müller  2008-01-20 15:05 UTC -------
Thanks, committed:

 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>

        * gst/gstplugin.c: (_gst_plugin_initialize):
          Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
          again, which I broke two commits ago when changing the API
          of gst_plugin_register_static(): the g_list_foreach() in
          _gst_plugin_register_static still assumed the old function
          signature and would therefore fail (re-fixes #510187).

        * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
          (_gst_plugin_register_static), (gst_plugin_register_static):
          Revert the (technically correct) change to call g_thread_init() from
          the pre-main() constructor. This will break programs which call
          g_thread_init() without an if (!g_thread_supported()) guard in their
          main function. We could just blame it on GLib or the application, but
          it's probably best to just avoid this altogether and simply not use
          any GLib functions here and use plain old malloc() with a simple
          array to store the plugins to register later when gst_init() is
          finally called (re-fixes #510187).

        * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
          (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
          (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
          (GST_START_TEST), (gst_plugin_suite):
          Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
          works.

Let's hope it's all good now.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=510187.




More information about the Gstreamer-bugs mailing list