[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
Sat Jan 19 13:26:09 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
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |




------- Comment #10 from Tim-Philipp Müller  2008-01-19 21:26 UTC -------
This is not over yet. I screwed up:

 -  _gst_plugin_initialize() still does:

     g_list_foreach (static_plugins, (GFunc) gst_plugin_register_static, NULL);

    which assumes the old function signature (oops). So programs using the old
    GST_PLUGIN_DEFINE_STATIC won't get their static plugins registered any
    longer (and that's the best case scenario).


 - _gst_plugin_register_static() was changed to do the technically
    Right Thing, namely call g_thread_init() before calling GLib
    functions such as g_list_prepend().  We can't really do this, however,
    since there are a lot of apps out there who just call g_thread_init(NULL)
    first thing in main() without guarding it with an if
(!g_thread_supported()).
    GLib will abort if g_thread_init() is called twice. Even if the fault is
    really with the application, we can't really do this.

    Solution: don't use GLib functions to store the list of plugins to
    register later when gst_init() is called. Better use plain libc malloc
    and not use g_thread_init() here at all.

Patches coming up.


-- 
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