[haiku-commits] Re: haiku: hrev47086 - in src: kits/media servers/media

  • From: "Adrien Destugues" <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 02 Apr 2014 09:24:09 +0000

>> * When removing a plugin, if an app already had it loaded, there is not
>> much that can be done to keep it working.
> 
> It /should/ keep working just fine, when its already loaded. We have
> resource tracking in the kernel.

I think the following sequence was a problem:
* The app requests an add-on for a given file, and loads it
* The file is deleted, the media_server notices this and removes it from the 
decoder list
* The app tries to use the plugin, which asks the media_server for some data 
about itself
* The media_server already forgot about this add-on, which leave it in a 
non-working state.

Now, the plugins are more standalone and stay contained in application side, 
avoiding this problem.

> One could also keep node monitoring both architecture's directories in
> the MediaServer and broadcast a message to all applications that they
> should rescan media plugins. This could be even nicer than before, as
> you say, there are apps which populate a menu or similar with the
> available formats, and now they would have a clear point in time when to
> do it again.

sounds possible, but we need each app to manage this by itself (similar to 
B_LOCALE_CHANGED).

-- 
Adrien.

Other related posts: