GNOME Bugzilla – Bug 340878
Registry doesn't discard removed plugin features
Last modified: 2006-09-28 22:08:16 UTC
I just built ffmpeg without encoders and discovered that even though the registry is refreshing the ffmpeg plugin, it's still remembering the ffenc_* elements that aren't being registered any more.
*** Bug 340877 has been marked as a duplicate of this bug. ***
Also need to check whether it removes plugins itself properly when the files disappear (see bug #329798).
Ah, it might not until the next restart, which would suck.
* gst/gst.c: (init_pre), (scan_and_update_registry),
(init_post), (gst_debug_help), (gst_deinit):
Make init_pre and init_post take the full complement of GOptionFunc
args so they can return useful GErrors. Make the registry updating
functions do so.
Call _priv_gst_registry_remove_cache_plugins after scanning files to
ensure that the registry we're about to write out doesn't contain
stale information about old-deleted plugin files.
Make _priv_gst_registry_remove_cache_plugins return a boolean so
that deletion of plugin files is considered a registry change.
* gst/gstregistry.c: (gst_registry_finalize),
Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
by adding _priv prefix, so that they won't appear in the global
symbol table. They still do atm though because of #318031. Move the
prototypes to gst_private.h
When removing a plugin, remove all features for that plugin too.
Re-opening. The commit breaks distcheck for an as-yet-unknown reason, so it's reverted for now.
OK, properly fixed now.