RygelMediaPlayer

RygelMediaPlayer — This interface maps UPnP AVTransport:2 methods to the plugin's specific implementation.

Synopsis

gboolean            rygel_media_player_seek             (RygelMediaPlayer *self,
                                                         gint64 time);
gboolean            rygel_media_player_seek_bytes       (RygelMediaPlayer *self,
                                                         gint64 bytes);
gchar **            rygel_media_player_get_protocols    (RygelMediaPlayer *self,
                                                         int *result_length1);
gchar **            rygel_media_player_get_mime_types   (RygelMediaPlayer *self,
                                                         int *result_length1);
gdouble             rygel_media_player_play_speed_to_double
                                                        (RygelMediaPlayer *self,
                                                         const gchar *speed);
gchar *             rygel_media_player_get_playback_state
                                                        (RygelMediaPlayer *self);
void                rygel_media_player_set_playback_state
                                                        (RygelMediaPlayer *self,
                                                         const gchar *value);
gchar **            rygel_media_player_get_allowed_playback_speeds
                                                        (RygelMediaPlayer *self,
                                                         int *result_length1);
gchar *             rygel_media_player_get_playback_speed
                                                        (RygelMediaPlayer *self);
void                rygel_media_player_set_playback_speed
                                                        (RygelMediaPlayer *self,
                                                         const gchar *value);
gchar *             rygel_media_player_get_uri          (RygelMediaPlayer *self);
void                rygel_media_player_set_uri          (RygelMediaPlayer *self,
                                                         const gchar *value);
gdouble             rygel_media_player_get_volume       (RygelMediaPlayer *self);
void                rygel_media_player_set_volume       (RygelMediaPlayer *self,
                                                         gdouble value);
gint64              rygel_media_player_get_duration     (RygelMediaPlayer *self);
gint64              rygel_media_player_get_size         (RygelMediaPlayer *self);
gchar *             rygel_media_player_get_metadata     (RygelMediaPlayer *self);
void                rygel_media_player_set_metadata     (RygelMediaPlayer *self,
                                                         const gchar *value);
gchar *             rygel_media_player_get_mime_type    (RygelMediaPlayer *self);
void                rygel_media_player_set_mime_type    (RygelMediaPlayer *self,
                                                         const gchar *value);
gboolean            rygel_media_player_get_can_seek     (RygelMediaPlayer *self);
gboolean            rygel_media_player_get_can_seek_bytes
                                                        (RygelMediaPlayer *self);
gchar *             rygel_media_player_get_content_features
                                                        (RygelMediaPlayer *self);
void                rygel_media_player_set_content_features
                                                        (RygelMediaPlayer *self,
                                                         const gchar *value);
gchar *             rygel_media_player_get_duration_as_str
                                                        (RygelMediaPlayer *self);
gint64              rygel_media_player_get_position     (RygelMediaPlayer *self);
gint64              rygel_media_player_get_byte_position
                                                        (RygelMediaPlayer *self);
gchar *             rygel_media_player_get_position_as_str
                                                        (RygelMediaPlayer *self);
gchar *             rygel_media_player_get_protocol_info
                                                        (RygelMediaPlayer *self);
                    RygelMediaPlayer;
struct              RygelMediaPlayerIface;

Object Hierarchy

  GInterface
   +----RygelMediaPlayer

Prerequisites

RygelMediaPlayer requires GObject.

Properties

  "allowed-playback-speeds"  GStrv                 : Read
  "byte-position"            gint64                : Read
  "can-seek"                 gboolean              : Read
  "can-seek-bytes"           gboolean              : Read
  "content-features"         gchar*                : Read / Write
  "duration"                 gint64                : Read
  "metadata"                 gchar*                : Read / Write
  "mime-type"                gchar*                : Read / Write
  "playback-speed"           gchar*                : Read / Write
  "playback-state"           gchar*                : Read / Write
  "position"                 gint64                : Read
  "size"                     gint64                : Read
  "uri"                      gchar*                : Read / Write
  "volume"                   gdouble               : Read / Write

Description

This interface is useful only when implementing Rygel renderer plugins. Instances of this interface are retrieved from rygel_media_renderer_plugin_get_player().

Details

rygel_media_player_seek ()

gboolean            rygel_media_player_seek             (RygelMediaPlayer *self,
                                                         gint64 time);

Seek to a point in the current media that is this many microseconds after the start.

self :

the RygelMediaPlayer instance

time :

 

rygel_media_player_seek_bytes ()

gboolean            rygel_media_player_seek_bytes       (RygelMediaPlayer *self,
                                                         gint64 bytes);

Seek to a byte position in the current media.

self :

the RygelMediaPlayer instance

bytes :

 

rygel_media_player_get_protocols ()

gchar **            rygel_media_player_get_protocols    (RygelMediaPlayer *self,
                                                         int *result_length1);

Return the protocols supported by this renderer, such as "http-get" and "rtsp".

self :

the RygelMediaPlayer instance

Returns :

. [array length=result_length1]

rygel_media_player_get_mime_types ()

gchar **            rygel_media_player_get_mime_types   (RygelMediaPlayer *self,
                                                         int *result_length1);

self :

the RygelMediaPlayer instance

Returns :

. [array length=result_length1]

rygel_media_player_play_speed_to_double ()

gdouble             rygel_media_player_play_speed_to_double
                                                        (RygelMediaPlayer *self,
                                                         const gchar *speed);

Transform a fractional playspeed (e.g. "-1/4") to double. Input values are expected to be valid rational numbers.

self :

the RygelMediaPlayer instance

speed :

 

rygel_media_player_get_playback_state ()

gchar *             rygel_media_player_get_playback_state
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "playback-state" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "playback-state" property

rygel_media_player_set_playback_state ()

void                rygel_media_player_set_playback_state
                                                        (RygelMediaPlayer *self,
                                                         const gchar *value);

Set the value of the "playback-state" property to value.

self :

the RygelMediaPlayer instance to modify

value :

the new value of the "playback-state" property

rygel_media_player_get_allowed_playback_speeds ()

gchar **            rygel_media_player_get_allowed_playback_speeds
                                                        (RygelMediaPlayer *self,
                                                         int *result_length1);

Get and return the current value of the "allowed-playback-speeds" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "allowed-playback-speeds" property

rygel_media_player_get_playback_speed ()

gchar *             rygel_media_player_get_playback_speed
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "playback-speed" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "playback-speed" property

rygel_media_player_set_playback_speed ()

void                rygel_media_player_set_playback_speed
                                                        (RygelMediaPlayer *self,
                                                         const gchar *value);

Set the value of the "playback-speed" property to value.

self :

the RygelMediaPlayer instance to modify

value :

the new value of the "playback-speed" property

rygel_media_player_get_uri ()

gchar *             rygel_media_player_get_uri          (RygelMediaPlayer *self);

Get and return the current value of the "uri" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "uri" property

rygel_media_player_set_uri ()

void                rygel_media_player_set_uri          (RygelMediaPlayer *self,
                                                         const gchar *value);

Set the value of the "uri" property to value.

self :

the RygelMediaPlayer instance to modify

value :

the new value of the "uri" property

rygel_media_player_get_volume ()

gdouble             rygel_media_player_get_volume       (RygelMediaPlayer *self);

Get and return the current value of the "volume" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "volume" property

rygel_media_player_set_volume ()

void                rygel_media_player_set_volume       (RygelMediaPlayer *self,
                                                         gdouble value);

Set the value of the "volume" property to value.

self :

the RygelMediaPlayer instance to modify

value :

the new value of the "volume" property

rygel_media_player_get_duration ()

gint64              rygel_media_player_get_duration     (RygelMediaPlayer *self);

Get and return the current value of the "duration" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "duration" property

rygel_media_player_get_size ()

gint64              rygel_media_player_get_size         (RygelMediaPlayer *self);

Get and return the current value of the "size" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "size" property

rygel_media_player_get_metadata ()

gchar *             rygel_media_player_get_metadata     (RygelMediaPlayer *self);

Get and return the current value of the "metadata" property.

A DIDLLite document describing the current media URI or null. The document is either the one received from a UPnP control point or one generated by the implementing class.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "metadata" property

rygel_media_player_set_metadata ()

void                rygel_media_player_set_metadata     (RygelMediaPlayer *self,
                                                         const gchar *value);

Set the value of the "metadata" property to value.

A DIDLLite document describing the current media URI or null. The document is either the one received from a UPnP control point or one generated by the implementing class.

self :

the RygelMediaPlayer instance to modify

value :

the new value of the "metadata" property

rygel_media_player_get_mime_type ()

gchar *             rygel_media_player_get_mime_type    (RygelMediaPlayer *self);

Get and return the current value of the "mime-type" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "mime-type" property

rygel_media_player_set_mime_type ()

void                rygel_media_player_set_mime_type    (RygelMediaPlayer *self,
                                                         const gchar *value);

Set the value of the "mime-type" property to value.

self :

the RygelMediaPlayer instance to modify

value :

the new value of the "mime-type" property

rygel_media_player_get_can_seek ()

gboolean            rygel_media_player_get_can_seek     (RygelMediaPlayer *self);

Get and return the current value of the "can-seek" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "can-seek" property

rygel_media_player_get_can_seek_bytes ()

gboolean            rygel_media_player_get_can_seek_bytes
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "can-seek-bytes" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "can-seek-bytes" property

rygel_media_player_get_content_features ()

gchar *             rygel_media_player_get_content_features
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "content-features" property.

The contents of the contentFeatures.dlna.org HTTP header, containing the 4th field of the protocol info for the current media URI. Or null if the header does not exist or the media does not have DLNA information attached.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "content-features" property

rygel_media_player_set_content_features ()

void                rygel_media_player_set_content_features
                                                        (RygelMediaPlayer *self,
                                                         const gchar *value);

Set the value of the "content-features" property to value.

The contents of the contentFeatures.dlna.org HTTP header, containing the 4th field of the protocol info for the current media URI. Or null if the header does not exist or the media does not have DLNA information attached.

self :

the RygelMediaPlayer instance to modify

value :

the new value of the "content-features" property

rygel_media_player_get_duration_as_str ()

gchar *             rygel_media_player_get_duration_as_str
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "duration-as-str" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "duration-as-str" property

rygel_media_player_get_position ()

gint64              rygel_media_player_get_position     (RygelMediaPlayer *self);

Get and return the current value of the "position" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "position" property

rygel_media_player_get_byte_position ()

gint64              rygel_media_player_get_byte_position
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "byte-position" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "byte-position" property

rygel_media_player_get_position_as_str ()

gchar *             rygel_media_player_get_position_as_str
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "position-as-str" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "position-as-str" property

rygel_media_player_get_protocol_info ()

gchar *             rygel_media_player_get_protocol_info
                                                        (RygelMediaPlayer *self);

Get and return the current value of the "protocol-info" property.

self :

the RygelMediaPlayer instance to query

Returns :

the value of the "protocol-info" property

RygelMediaPlayer

typedef struct _RygelMediaPlayer RygelMediaPlayer;

This interface maps UPnP AVTransport:2 methods to the plugin's specific implementation.

This interface is useful only when implementing Rygel renderer plugins. Instances of this interface are retrieved from rygel_media_renderer_plugin_get_player().


struct RygelMediaPlayerIface

struct RygelMediaPlayerIface {
	GTypeInterface parent_iface;
	gboolean (*seek) (RygelMediaPlayer* self, gint64 time);
	gboolean (*seek_bytes) (RygelMediaPlayer* self, gint64 bytes);
	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_allowed_playback_speeds) (RygelMediaPlayer* self, int* result_length1);
	gchar* (*get_playback_speed) (RygelMediaPlayer* self);
	void (*set_playback_speed) (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);
	gint64 (*get_size) (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);
	gboolean (*get_can_seek) (RygelMediaPlayer* self);
	gboolean (*get_can_seek_bytes) (RygelMediaPlayer* self);
	gchar* (*get_content_features) (RygelMediaPlayer* self);
	void (*set_content_features) (RygelMediaPlayer* self, const gchar* value);
	gint64 (*get_position) (RygelMediaPlayer* self);
	gint64 (*get_byte_position) (RygelMediaPlayer* self);
};

Interface for creating RygelMediaPlayer implementations.

GTypeInterface parent_iface;

the parent interface structure

seek ()

virtual method called by rygel_media_player_seek()

seek_bytes ()

virtual method called by rygel_media_player_seek_bytes()

get_protocols ()

virtual method called by rygel_media_player_get_protocols()

get_mime_types ()

virtual method called by rygel_media_player_get_mime_types()

get_playback_state ()

getter method for the abstract property "playback-state"

set_playback_state ()

setter method for the abstract property "playback-state"

get_allowed_playback_speeds ()

getter method for the abstract property "allowed-playback-speeds"

get_playback_speed ()

getter method for the abstract property "playback-speed"

set_playback_speed ()

setter method for the abstract property "playback-speed"

get_uri ()

getter method for the abstract property "uri"

set_uri ()

setter method for the abstract property "uri"

get_volume ()

getter method for the abstract property "volume"

set_volume ()

setter method for the abstract property "volume"

get_duration ()

getter method for the abstract property "duration"

get_size ()

getter method for the abstract property "size"

get_metadata ()

getter method for the abstract property "metadata"

set_metadata ()

setter method for the abstract property "metadata"

get_mime_type ()

getter method for the abstract property "mime-type"

set_mime_type ()

setter method for the abstract property "mime-type"

get_can_seek ()

getter method for the abstract property "can-seek"

get_can_seek_bytes ()

getter method for the abstract property "can-seek-bytes"

get_content_features ()

getter method for the abstract property "content-features"

set_content_features ()

setter method for the abstract property "content-features"

get_position ()

getter method for the abstract property "position"

get_byte_position ()

getter method for the abstract property "byte-position"

Property Details

The "allowed-playback-speeds" property

  "allowed-playback-speeds"  GStrv                 : Read

allowed-playback-speeds.


The "byte-position" property

  "byte-position"            gint64                : Read

byte-position.

Default value: 0


The "can-seek" property

  "can-seek"                 gboolean              : Read

can-seek.

Default value: FALSE


The "can-seek-bytes" property

  "can-seek-bytes"           gboolean              : Read

can-seek-bytes.

Default value: FALSE


The "content-features" property

  "content-features"         gchar*                : Read / Write

The contents of the contentFeatures.dlna.org HTTP header, containing the 4th field of the protocol info for the current media URI. Or null if the header does not exist or the media does not have DLNA information attached.

Default value: NULL


The "duration" property

  "duration"                 gint64                : Read

duration.

Default value: 0


The "metadata" property

  "metadata"                 gchar*                : Read / Write

A DIDLLite document describing the current media URI or null. The document is either the one received from a UPnP control point or one generated by the implementing class.

Default value: NULL


The "mime-type" property

  "mime-type"                gchar*                : Read / Write

mime-type.

Default value: NULL


The "playback-speed" property

  "playback-speed"           gchar*                : Read / Write

playback-speed.

Default value: NULL


The "playback-state" property

  "playback-state"           gchar*                : Read / Write

playback-state.

Default value: NULL


The "position" property

  "position"                 gint64                : Read

position.

Default value: 0


The "size" property

  "size"                     gint64                : Read

size.

Default value: 0


The "uri" property

  "uri"                      gchar*                : Read / Write

uri.

Default value: NULL


The "volume" property

  "volume"                   gdouble               : Read / Write

volume.

Default value: 0