mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 18:50:48 +00:00
4a402c1c7d
Found via `codespell` https://bugzilla.gnome.org/show_bug.cgi?id=795610
64 lines
1.1 KiB
Text
64 lines
1.1 KiB
Text
Requirements
|
|
------------
|
|
|
|
- pluggable 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
|
|
---
|
|
|
|
|
|
|