Rygel Integration and Customization
Rygel provides full functionality by default, using Tracker and GStreamer. However, you may need to integrate Rygel with a new or unusual platform or customize Rygel somehow.
Platform Requirements
The Rygel Architecture Diagram shows the dependencies required by the various parts of Rygel. The actual dependencies for each platform will depend on which parts of Rygel that platform intends to use.
Integrating Rygel as a Media Server (DMS)
Server Plugins
Rygel provides a choice of server plugins by default. Your Rygel Configuration should specify which plugins should be used, and how they should be used.
You may implement your own server plugin instead, for instance to provide media that has been discovered by your platform's own file indexing system.
Media Engines
Rygel also provides a choice of media engines, though it defaults to using a GStreamer-based media engine. Your Rygel Configuration should specify which media engine should be used, and how it should be used.
You may implement your own media engine instead, to use a multimedia framework provided by your platform. This may be necessary to due licensing/patent issues, or to make the best use of hardware decoding.
Standalone Servers
You may also use Rygel's API to implement your own media server, instead of using the Rygel server.
Using Rygel to Implement a UPnP/DLNA Renderer or Player
Althought Rygel is primarily a media server, it provides a librygel-renderer API to help with the implementation (or adaptation) of software, such as media players, that can be UPnP or DLNA media renderers or players.
For platforms that use GStreamer, Rygel provides the more specialized librygel-renderer-gst API to implement the renderer/player functionality with Rygel and GStreamer.