## RygelMediaServer RygelMediaServer — This class may be used to implement in-process UPnP-AV media servers. |

## Synopsis

    #define             RYGEL_TYPE_MEDIA_SERVER
    RygelMediaServer *  rygel_media_server_new              (const gchar *title,
                                                             RygelMediaContainer *root_container,
                                                             RygelPluginCapabilities capabilities);
    struct              RygelMediaServer;
    struct              RygelMediaServerClass;

## Object Hierarchy

      GObject
       +----RygelMediaDevice
             +----RygelMediaServer

## Properties

      "root-container"           RygelMediaContainer*  : Write / Construct Only

## Description

Call `rygel_media_device_add_interface()` on the RygelMediaServer to allow it to serve media via that network interface.

See the <link linkend="implementing-servers">Implementing Servers</link> section.

## Details

### RYGEL_TYPE_MEDIA_SERVER

    #define RYGEL_TYPE_MEDIA_SERVER (rygel_media_server_get_type ())

The type for RygelMediaServer.

### rygel_media_server_new ()

    RygelMediaServer *  rygel_media_server_new              (const gchar *title,
                                                             RygelMediaContainer *root_container,
                                                             RygelPluginCapabilities capabilities);

Create a MediaServer to serve the media in the RygelMediaContainer. For instance, you might use a RygelSimpleContainer. Alternatively, you might use your own RygelMediaContainer implementation.

Assuming that the RygelMediaContainer is correctly implemented, the RygelMediaServer will respond appropriately to changes in the RygelMediaContainer.

### struct RygelMediaServer

    struct RygelMediaServer;

This class may be used to implement in-process UPnP-AV media servers.

Call `rygel_media_device_add_interface()` on the RygelMediaServer to allow it to serve media via that network interface.

See the <link linkend="implementing-servers">Implementing Servers</link> section.

### struct RygelMediaServerClass

    struct RygelMediaServerClass {
    	RygelMediaDeviceClass parent_class;
    };

The class structure for `RYGEL_TYPE_MEDIA_SERVER`. All the fields in this structure are private and should never be accessed directly.

RygelMediaDeviceClass `parent_class`; | the parent class structure

## Property Details

### The `"root-container"` property

      "root-container"           RygelMediaContainer*  : Write / Construct Only

root-container.