.. SPDX-License-Identifier: LGPL-2.1-or-later =========== Integration =========== Rygel provides full server and renderer functionality by default, using `LocalSearch/TinySPARQL `_ and `GStreamer `_. However, one might encounter situations where it is necessary to integrate Rygel with a new or unusual platform, or to customize Rygel somehow. Integration Rygel as a Media Server (DMS) ========================================= Server Plugins -------------- For the available implementations, see the :doc:`Plugins ` documentation. They may be enabled or disabled in the :doc:`Configuration `. It is also possible to `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 :doc:`media engines `, through 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 also `implement your own media engine `_ instead, to use a multimedia framework provided by your platform. This may be neccessary due to licensing/patent issues, or to make the best use of hardware codecs. Standalone servers ------------------ You may also use Rygel's API to `implement your own media server `_, instead of running the rygel binary. Using Rygel to implement an 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 GStreamers, Rygel provides the more specialized librygel-renderer-gst API to `implement the renderer/player functionality with Rygel/GStreamer `_