Rygel Integration and Customization
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)
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.
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.
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.