mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 13:18:52 +00:00
Original commit message from CVS: committing many nice little memleaks fixes from Iain, great work dude
64 lines
1.1 KiB
Text
64 lines
1.1 KiB
Text
Requirements
|
|
------------
|
|
|
|
- plugable backends:
|
|
|
|
- XML
|
|
- flat file
|
|
- GConf/bonobo conf
|
|
- web registry
|
|
- in memory (trivial?)
|
|
- SQL backend (gda?)
|
|
|
|
- provide API to the core to load/inspect/save plugins.
|
|
- provide user/system registry
|
|
- provide combination of backends
|
|
- provide backend specific queries
|
|
|
|
user/system registry
|
|
--------------------
|
|
There are two be two registries on the system. One system registry and one user registry.
|
|
The user registry should be queried first, then if that doesn't exist or don't contain any
|
|
plugins able to handle the mediatype it should fall back to system registry.
|
|
|
|
model:
|
|
------
|
|
|
|
registry_pool
|
|
!
|
|
!---> registry (name, priority)
|
|
!
|
|
!
|
|
!---> registry (name, priority)
|
|
! !
|
|
! !-> plugin
|
|
! !
|
|
! !-> plugin
|
|
! ... !
|
|
! !-> feature ...
|
|
!
|
|
...
|
|
|
|
|
|
A registrypool holds a list of registries each with a priority
|
|
|
|
A registry contains a list of plugins (or libraries)
|
|
|
|
A plugin contains a list of features (elementfactories, typefacories, ...)
|
|
|
|
Loading the registry will do
|
|
|
|
- instantiate empty GstPlugin objects (loaded flag == FALSE)
|
|
- instantiate empty plugin features
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
API
|
|
---
|
|
|
|
|
|
|