|
From: GStreamer (bugzilla.gnome.org) <bug...@bu...> - 2007-01-11 10:01:52
|
Do not reply to this via email (we are currently unable to handle email responses and they get discarded). You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=3D350477 GStreamer | gstreamer (core) | Ver: HEAD CVS ------- Comment #7 from Edward Hervey 2007-01-11 10:01 UTC ------- Stefan, rescanning the whole registry every time is a BAD IDEA (tm) ! Jus= t imagine everybody complaining about how slow gst-based apps start. It would be much saner IMHO to let the registry scanner (the part that de= cides that a plugin has changed) also check for modifications in other files an= d store that information in the registry, and not some plugin code (since i= t would mean redundancy in most of those plugins, and also poses the proble= m of how those plugins are going to figure out if the subplugins have changed = or not). An interface would be the easiest way to do this, with a method where the factory can return: * paths : These are the paths to search for the 'subplugins' the plugin u= ses. * extensions : A list of extension for those 'subplugins' (most of the ti= me it would be .so/.dll, but a python plugin loader could also use '.py'). * env variable : An environment variable which can contain some extra pat= hs to look into. Then the registry scanner can look in the various paths for files with th= e given extensions, get the size and file timestamp, and compare those valu= es to those already stored in the registry. If it's different, reload the given plugin. Also, if the registry scanner sees that the current env variable value is different from the previously stored one, then it also needs to force a r= eload. --=20 Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail |