## RygelPlaybinRenderer

RygelPlaybinRenderer — An in-process UPnP renderer that uses a GStreamer Playbin element.

## Synopsis

    #define             RYGEL_PLAYBIN_TYPE_RENDERER
    GstElement *        rygel_playbin_renderer_get_playbin  (RygelPlaybinRenderer *self);
    RygelPlaybinRenderer * rygel_playbin_renderer_new       (const gchar *title);
    RygelPlaybinRenderer * rygel_playbin_renderer_new_wrap  (GstElement *pipeline,
                                                             const gchar *title);
    struct              RygelPlaybinRenderer;
    struct              RygelPlaybinRendererClass;

## Object Hierarchy

      GObject
       +----RygelMediaDevice
             +----RygelMediaRenderer
                   +----RygelPlaybinRenderer

## Description

Using GstPlayBin as a model, it reflects any changes done externally, such as changing the currently played URI, volume, pause/play etc., to UPnP.

Likewise, the playbin can be modified externally using UPnP.

You can retrieve the GstPlayBin by calling `rygel_playbin_renderer_get_playbin()`. You should then set the "video-sink" and "audio-sink" properties of the playbin.

Call `rygel_media_device_add_interface()` on the Renderer to allow it to be controlled by a control point and to retrieve data streams via that network interface.

See the <link linkend="implementing-renderers-gst">Implementing GStreamer-based Renderers</link> section.

## Details

### RYGEL_PLAYBIN_TYPE_RENDERER

    #define RYGEL_PLAYBIN_TYPE_RENDERER (rygel_playbin_renderer_get_type ())

The type for RygelPlaybinRenderer.

### rygel_playbin_renderer_get_playbin ()

    GstElement *        rygel_playbin_renderer_get_playbin  (RygelPlaybinRenderer *self);

Get the GstPlayBin used by this Renderer.

`self` : | the RygelPlaybinRenderer instance

### rygel_playbin_renderer_new ()

    RygelPlaybinRenderer * rygel_playbin_renderer_new       (const gchar *title);

Create a new instance of Renderer.

Renderer will instantiate its own instance of GstPlayBin. The GstPlayBin can be accessed by using `rygel_playbin_player_get_playbin()`.

`title` : | . Friendly name of the new UPnP renderer on the network. [in]

### rygel_playbin_renderer_new_wrap ()

    RygelPlaybinRenderer * rygel_playbin_renderer_new_wrap  (GstElement *pipeline,
                                                             const gchar *title);

Create a new instance of Renderer, wrapping an existing GstPlayBin instance.

`pipeline` : | . Instance of GstPlayBin to wrap. [in]
`title` : | . Friendly name of the new UPnP renderer on the network. [in]

### struct RygelPlaybinRenderer

    struct RygelPlaybinRenderer;

An in-process UPnP renderer that uses a GStreamer Playbin element.

Using GstPlayBin as a model, it reflects any changes done externally, such as changing the currently played URI, volume, pause/play etc., to UPnP.

Likewise, the playbin can be modified externally using UPnP.

You can retrieve the GstPlayBin by calling `rygel_playbin_renderer_get_playbin()`. You should then set the "video-sink" and "audio-sink" properties of the playbin.

Call `rygel_media_device_add_interface()` on the Renderer to allow it to be controlled by a control point and to retrieve data streams via that network interface.

See the <link linkend="implementing-renderers-gst">Implementing GStreamer-based Renderers</link> section.

### struct RygelPlaybinRendererClass

    struct RygelPlaybinRendererClass {
    	RygelMediaRendererClass parent_class;
    };

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

RygelMediaRendererClass `parent_class`; | the parent class structure