<MACRO>
<NAME>RYGEL_TYPE_MEDIA_RENDERER_PLUGIN</NAME>
#define RYGEL_TYPE_MEDIA_RENDERER_PLUGIN (rygel_media_renderer_plugin_get_type ())
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_RENDERER_PLUGIN</NAME>
#define RYGEL_MEDIA_RENDERER_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MEDIA_RENDERER_PLUGIN, RygelMediaRendererPlugin))
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_RENDERER_PLUGIN_CLASS</NAME>
#define RYGEL_MEDIA_RENDERER_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MEDIA_RENDERER_PLUGIN, RygelMediaRendererPluginClass))
</MACRO>
<MACRO>
<NAME>RYGEL_IS_MEDIA_RENDERER_PLUGIN</NAME>
#define RYGEL_IS_MEDIA_RENDERER_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MEDIA_RENDERER_PLUGIN))
</MACRO>
<MACRO>
<NAME>RYGEL_IS_MEDIA_RENDERER_PLUGIN_CLASS</NAME>
#define RYGEL_IS_MEDIA_RENDERER_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MEDIA_RENDERER_PLUGIN))
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_RENDERER_PLUGIN_GET_CLASS</NAME>
#define RYGEL_MEDIA_RENDERER_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MEDIA_RENDERER_PLUGIN, RygelMediaRendererPluginClass))
</MACRO>
<MACRO>
<NAME>RYGEL_TYPE_MEDIA_PLAYER</NAME>
#define RYGEL_TYPE_MEDIA_PLAYER (rygel_media_player_get_type ())
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_PLAYER</NAME>
#define RYGEL_MEDIA_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MEDIA_PLAYER, RygelMediaPlayer))
</MACRO>
<MACRO>
<NAME>RYGEL_IS_MEDIA_PLAYER</NAME>
#define RYGEL_IS_MEDIA_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MEDIA_PLAYER))
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_PLAYER_GET_INTERFACE</NAME>
#define RYGEL_MEDIA_PLAYER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), RYGEL_TYPE_MEDIA_PLAYER, RygelMediaPlayerIface))
</MACRO>
<MACRO>
<NAME>RYGEL_TYPE_MEDIA_RENDERER</NAME>
#define RYGEL_TYPE_MEDIA_RENDERER (rygel_media_renderer_get_type ())
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_RENDERER</NAME>
#define RYGEL_MEDIA_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MEDIA_RENDERER, RygelMediaRenderer))
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_RENDERER_CLASS</NAME>
#define RYGEL_MEDIA_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MEDIA_RENDERER, RygelMediaRendererClass))
</MACRO>
<MACRO>
<NAME>RYGEL_IS_MEDIA_RENDERER</NAME>
#define RYGEL_IS_MEDIA_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MEDIA_RENDERER))
</MACRO>
<MACRO>
<NAME>RYGEL_IS_MEDIA_RENDERER_CLASS</NAME>
#define RYGEL_IS_MEDIA_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MEDIA_RENDERER))
</MACRO>
<MACRO>
<NAME>RYGEL_MEDIA_RENDERER_GET_CLASS</NAME>
#define RYGEL_MEDIA_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MEDIA_RENDERER, RygelMediaRendererClass))
</MACRO>
<STRUCT>
<NAME>RygelMediaPlayerIface</NAME>
struct _RygelMediaPlayerIface {
	GTypeInterface parent_iface;
	gboolean (*seek) (RygelMediaPlayer* self, gint64 time);
	gchar** (*get_protocols) (RygelMediaPlayer* self, int* result_length1);
	gchar** (*get_mime_types) (RygelMediaPlayer* self, int* result_length1);
	gchar* (*get_playback_state) (RygelMediaPlayer* self);
	void (*set_playback_state) (RygelMediaPlayer* self, const gchar* value);
	gchar* (*get_uri) (RygelMediaPlayer* self);
	void (*set_uri) (RygelMediaPlayer* self, const gchar* value);
	gdouble (*get_volume) (RygelMediaPlayer* self);
	void (*set_volume) (RygelMediaPlayer* self, gdouble value);
	gint64 (*get_duration) (RygelMediaPlayer* self);
	gchar* (*get_metadata) (RygelMediaPlayer* self);
	void (*set_metadata) (RygelMediaPlayer* self, const gchar* value);
	gchar* (*get_mime_type) (RygelMediaPlayer* self);
	void (*set_mime_type) (RygelMediaPlayer* self, const gchar* value);
	gchar* (*get_content_features) (RygelMediaPlayer* self);
	void (*set_content_features) (RygelMediaPlayer* self, const gchar* value);
	gint64 (*get_position) (RygelMediaPlayer* self);
};
</STRUCT>
<STRUCT>
<NAME>RygelMediaRendererPlugin</NAME>
struct _RygelMediaRendererPlugin {
	RygelPlugin parent_instance;
	RygelMediaRendererPluginPrivate * priv;
};
</STRUCT>
<STRUCT>
<NAME>RygelMediaRendererPluginClass</NAME>
struct _RygelMediaRendererPluginClass {
	RygelPluginClass parent_class;
	RygelMediaPlayer* (*get_player) (RygelMediaRendererPlugin* self);
};
</STRUCT>
<STRUCT>
<NAME>RygelMediaRenderer</NAME>
struct _RygelMediaRenderer {
	RygelMediaDevice parent_instance;
	RygelMediaRendererPrivate * priv;
};
</STRUCT>
<STRUCT>
<NAME>RygelMediaRendererClass</NAME>
struct _RygelMediaRendererClass {
	RygelMediaDeviceClass parent_class;
};
</STRUCT>
<FUNCTION>
<NAME>rygel_media_renderer_plugin_get_type</NAME>
<RETURNS>GType  </RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_type</NAME>
<RETURNS>GType  </RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_renderer_plugin_new</NAME>
<RETURNS>RygelMediaRendererPlugin * </RETURNS>
const gchar* name, const gchar* title, const gchar* description 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_renderer_plugin_construct</NAME>
<RETURNS>RygelMediaRendererPlugin * </RETURNS>
GType object_type, const gchar* name, const gchar* title, const gchar* description 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_renderer_plugin_get_player</NAME>
<RETURNS>RygelMediaPlayer * </RETURNS>
RygelMediaRendererPlugin* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_seek</NAME>
<RETURNS>gboolean  </RETURNS>
RygelMediaPlayer* self, gint64 time 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_protocols</NAME>
<RETURNS>gchar ** </RETURNS>
RygelMediaPlayer* self, int* result_length1 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_mime_types</NAME>
<RETURNS>gchar ** </RETURNS>
RygelMediaPlayer* self, int* result_length1 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_playback_state</NAME>
<RETURNS>gchar * </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_set_playback_state</NAME>
<RETURNS>void  </RETURNS>
RygelMediaPlayer* self, const gchar* value 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_uri</NAME>
<RETURNS>gchar * </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_set_uri</NAME>
<RETURNS>void  </RETURNS>
RygelMediaPlayer* self, const gchar* value 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_volume</NAME>
<RETURNS>gdouble  </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_set_volume</NAME>
<RETURNS>void  </RETURNS>
RygelMediaPlayer* self, gdouble value 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_duration</NAME>
<RETURNS>gint64  </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_metadata</NAME>
<RETURNS>gchar * </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_set_metadata</NAME>
<RETURNS>void  </RETURNS>
RygelMediaPlayer* self, const gchar* value 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_mime_type</NAME>
<RETURNS>gchar * </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_set_mime_type</NAME>
<RETURNS>void  </RETURNS>
RygelMediaPlayer* self, const gchar* value 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_content_features</NAME>
<RETURNS>gchar * </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_set_content_features</NAME>
<RETURNS>void  </RETURNS>
RygelMediaPlayer* self, const gchar* value 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_duration_as_str</NAME>
<RETURNS>gchar * </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_position</NAME>
<RETURNS>gint64  </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_player_get_position_as_str</NAME>
<RETURNS>gchar * </RETURNS>
RygelMediaPlayer* self 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_renderer_get_type</NAME>
<RETURNS>GType  </RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_renderer_new</NAME>
<RETURNS>RygelMediaRenderer * </RETURNS>
const gchar* title, RygelMediaPlayer* player 
</FUNCTION>
<FUNCTION>
<NAME>rygel_media_renderer_construct</NAME>
<RETURNS>RygelMediaRenderer * </RETURNS>
GType object_type, const gchar* title, RygelMediaPlayer* player 
</FUNCTION>
<STRUCT>
<NAME>RygelMediaRendererPluginPrivate</NAME>
</STRUCT>
<STRUCT>
<NAME>RygelMediaPlayer</NAME>
</STRUCT>
<STRUCT>
<NAME>RygelMediaRendererPrivate</NAME>
</STRUCT>
