Registry Change Hooks
----------------------

This document proposes a mechnism to register on registry updates.

Last edited: 2009-11-09 Stefan Kost


Current Behaviour
-----------------

When new plugins are installed or some are removed, the next application that
runs rebuiilds the registry. Any application that runs later on won't know about
it.


Problem
-------

Some usecases need to cache gstreamer capabilities. They need to know when the 
cache needs to be rebuilt. We could either export the registry mtime as api or
do the following.

This gets more useful once we can have more plugin/element metadata in the
registry (e.g. mime-types for demuxers and codecs, see
http://www.rfc-editor.org/rfc/rfc4281.txt).

Proposal
--------
We add a ~/.gstreamer-0.10/registry-hooks directory. Applications can install
scripts there. When the registry is rebuild, those scripts are run async in no
specific order. There is no feedback channel (return values, stdout/err).


Examples
---------

gst-inspector
-------------
it would install a script that simply deletes its cachefile.

gupnp
-----
it would install a script that runs gst-inspect-0.10 --print-plugin-auto-install-info
and post process it.

totem,banshee,rythmbox
-----------------------
they could tune the "MimeType=" lists in their desktop files


Open Items
----------
Should we have a gst-registry-hook script with --install/--remove/--list actions
to manage hooks?

