After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 340878 - Registry doesn't discard removed plugin features
Registry doesn't discard removed plugin features
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.10.11
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 340877 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-05-07 01:23 UTC by Jan Schmidt
Modified: 2006-09-28 22:08 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jan Schmidt 2006-05-07 01:23:40 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.
Comment 1 Jan Schmidt 2006-05-07 01:24:40 UTC
*** Bug 340877 has been marked as a duplicate of this bug. ***
Comment 2 Tim-Philipp Müller 2006-07-10 15:01:12 UTC
Also need to check whether it removes plugins itself properly when the files disappear (see bug #329798).
Comment 3 Jan Schmidt 2006-07-11 09:36:41 UTC
Ah, it might not until the next restart, which would suck.
Comment 4 Jan Schmidt 2006-09-27 16:53:22 UTC
Fixed:
        * gst/gst.c: (init_pre), (scan_and_update_registry),
        (ensure_current_registry_nonforking),
        (ensure_current_registry_forking), (ensure_current_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/gst_private.h:
        * gst/gstregistry.c: (gst_registry_finalize),
        (gst_registry_remove_features_for_plugin_unlocked),
        (gst_registry_remove_plugin), (gst_registry_scan_path_level),
        (gst_registry_scan_path),
        (_priv_gst_registry_remove_cache_plugins),
        (_priv_gst_registry_cleanup):
        * gst/gstregistry.h:
        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.
        Fixes #340878.
Comment 5 Jan Schmidt 2006-09-28 10:05:04 UTC
Re-opening. The commit breaks distcheck for an as-yet-unknown reason, so it's reverted for now.
Comment 6 Jan Schmidt 2006-09-28 22:08:16 UTC
OK, properly fixed now.