GNOME Bugzilla – Bug 163234
[PATCH] plugin loading isn't thread-safe
Last modified: 2005-01-09 01:35:01 UTC
Run the following pipeline (notice the 2 typefind): gst-launch-0.8 { filesrc location="test1.mpg" ! typefind ! fakesink } { filesrc location="test2.mpg" ! typefind ! fakesink } EXECUTION du tube en cours ... GStreamer-ERROR **: file gstplugin.c: line 184 (gst_plugin_register_func): assertion failed: (plugin->module == NULL) aborting... If I replace one typefind by mpegdemux, everything works correctly. "Company" told me that plugin loading might not be thread-safe, which would lead to this problem.
Created attachment 35613 [details] [review] Protects plugin loading by a mutex This patch adds a mutex in gst_plugin_feature_ensure_loaded(). I cannot reprocduce the problem with this patch. It could probably be cleaned up a little bit since I guess we don't need a mutex if GST_DISABLE_REGISTRY is defined.
applied, thanks.