[gst-devel] gstreamer-compprep crashes when reg.xml is up-to-date

Richard Boulton richard at tartarus.org
Tue Jun 5 03:15:35 CEST 2001


After running gstreamer-register, gstreamer-compprep segfaults.  It works
fine when the registry is not in use.

This appears to be due to the GList of plugins getting modified when a
plugin is loaded: the plugin struct for the unloaded version is removed
from the list and a struct for the new version is added in.

This is fine if the GList isn't in use, but gstreamer-compprep has an
iterator to the list in use, and pointing to the plugin which gets loaded.

Changing gst_plugin_get_list () to return a g_list_copy (_gst_plugins);
rather than _gst_plugins itself fixes the crash, and I've committed this,
but this only works because the plugin structs aren't cleaned up properly.
I think we need some reference counting, or something similar, to avoid
resource leaks here.

-- 
Richard




More information about the gstreamer-devel mailing list