<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<refentry id="librygel-renderer-RygelPlaybinRenderer">
<refmeta>
<refentrytitle role="top_of_page" id="librygel-renderer-RygelPlaybinRenderer.top_of_page">RygelPlaybinRenderer</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>
  LIBRYGEL-RENDERER Library
</refmiscinfo>
</refmeta>
<refnamediv>
<refname>RygelPlaybinRenderer</refname>
<refpurpose>Convert a GStreamer Playbin2 element into an UPnP renderer.</refpurpose>
</refnamediv>

<refsynopsisdiv id="librygel-renderer-RygelPlaybinRenderer.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>#define             <link linkend="RYGEL-PLAYBIN-TYPE-RENDERER:CAPS">RYGEL_PLAYBIN_TYPE_RENDERER</link>
<link linkend="RygelPlaybinRenderer"><returnvalue>RygelPlaybinRenderer</returnvalue></link> * <link linkend="rygel-playbin-renderer-new">rygel_playbin_renderer_new</link>       (<parameter>const <link linkend="gchar"><type>gchar</type></link> *title</parameter>);
<link linkend="RygelPlaybinRenderer"><returnvalue>RygelPlaybinRenderer</returnvalue></link> * <link linkend="rygel-playbin-renderer-new-wrap">rygel_playbin_renderer_new_wrap</link>  (<parameter><link linkend="GstElement"><type>GstElement</type></link> *pipeline</parameter>,
                                                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *title</parameter>);
struct              <link linkend="RygelPlaybinRenderer">RygelPlaybinRenderer</link>;
</synopsis>
</refsynopsisdiv>

<refsect1 id="librygel-renderer-RygelPlaybinRenderer.description" role="desc">
<title role="desc.title">Description</title>
<para>
<para>Using Playbin2 as a model it reflects any changes done externally, such as changing the currently played URI, volume, pause/play etc. to UPnP.</para><para>Likewise the playbin can be modified externally using UPnP.</para>
</para>
</refsect1>
<refsect1 id="librygel-renderer-RygelPlaybinRenderer.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="RYGEL-PLAYBIN-TYPE-RENDERER:CAPS" role="macro">
<title>RYGEL_PLAYBIN_TYPE_RENDERER</title>
<indexterm zone="RYGEL-PLAYBIN-TYPE-RENDERER:CAPS"><primary>RYGEL_PLAYBIN_TYPE_RENDERER</primary></indexterm>
<programlisting>#define RYGEL_PLAYBIN_TYPE_RENDERER (rygel_playbin_renderer_get_type ())
</programlisting>
<para>
The type for <link linkend="RygelPlaybinRenderer"><type>RygelPlaybinRenderer</type></link>.
</para></refsect2>
<refsect2 id="rygel-playbin-renderer-new" role="function">
<title>rygel_playbin_renderer_new ()</title>
<indexterm zone="rygel-playbin-renderer-new"><primary>rygel_playbin_renderer_new</primary></indexterm>
<programlisting><link linkend="RygelPlaybinRenderer"><returnvalue>RygelPlaybinRenderer</returnvalue></link> * rygel_playbin_renderer_new       (<parameter>const <link linkend="gchar"><type>gchar</type></link> *title</parameter>);</programlisting>
<para>
Create a new instance of Renderer.
</para>
<para>
<para>Renderer will instanciate its own instance of playbin. The Playbin can be accessed by using Player.get_default().playbin</para>
</para><variablelist role="params">
<varlistentry><term><parameter>title</parameter>&#160;:</term>
<listitem><simpara>Friendly name of the new UPnP renderer on the network. <emphasis role="annotation">[<acronym>in</acronym>]</emphasis></simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rygel-playbin-renderer-new-wrap" role="function">
<title>rygel_playbin_renderer_new_wrap ()</title>
<indexterm zone="rygel-playbin-renderer-new-wrap"><primary>rygel_playbin_renderer_new_wrap</primary></indexterm>
<programlisting><link linkend="RygelPlaybinRenderer"><returnvalue>RygelPlaybinRenderer</returnvalue></link> * rygel_playbin_renderer_new_wrap  (<parameter><link linkend="GstElement"><type>GstElement</type></link> *pipeline</parameter>,
                                                         <parameter>const <link linkend="gchar"><type>gchar</type></link> *title</parameter>);</programlisting>
<para>
Create a new instance of Renderer, wrapping an existing playbin instance.
</para><variablelist role="params">
<varlistentry><term><parameter>pipeline</parameter>&#160;:</term>
<listitem><simpara>Instance of Gst.PlayBin2 to wrap. <emphasis role="annotation">[<acronym>in</acronym>]</emphasis></simpara></listitem></varlistentry>
<varlistentry><term><parameter>title</parameter>&#160;:</term>
<listitem><simpara>Friendly name of the new UPnP renderer on the network. <emphasis role="annotation">[<acronym>in</acronym>]</emphasis></simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="RygelPlaybinRenderer" role="struct">
<title>struct RygelPlaybinRenderer</title>
<indexterm zone="RygelPlaybinRenderer"><primary>RygelPlaybinRenderer</primary></indexterm>
<programlisting>struct RygelPlaybinRenderer {
	RygelMediaDevice parent_instance;
	RygelPlaybinRendererPrivate * priv;
};
</programlisting>
<para>
Convert a GStreamer Playbin2 element into an UPnP renderer.
</para>
<para>
<para>Using Playbin2 as a model it reflects any changes done externally, such as changing the currently played URI, volume, pause/play etc. to UPnP.</para><para>Likewise the playbin can be modified externally using UPnP.</para>
</para></refsect2>

</refsect1>

</refentry>
