NOTE: This spec has been dropped in favor of MPRIS 2 D-Bus spec: http://www.mpris.org/mirsal/2.0-draft/spec/Root_Node.html
This is the draft of D-Bus interface that can be used by applications that want to expose their rendering/playback capability to other application (e.g Rygel to expose on UPnP/DLNA network).
Entry Point
Service name on the *SESSION* bus (later maybe on user bus if Lennart's patches go through) should be:
org.gnome.MediaPlayer1.<AppName> Example: org.gnome.MediaPlayer1.Totem
Rygel should look for all services on the bus starting with 'org.gnome.MediaPlayer1.', both active and activatable. It should then do its calls on an entry point object on the service with the path of:
/org/gnome/MediaPlayer1/<AppName> Example: /org/gnome/MediaPlayer1/Totem
The <AppName> suffix of this entry point path should be identical the <AppName> suffix of the service name on the bus.
Interface
The object should implement interface:
org.gnome.MediaPlayer1
This interface must have the following properties:
name |
type |
Access qualifier |
Explanation |
Mute |
b |
read-write |
|
Volume |
u |
read-write |
Master volume |
Protocols |
as |
read-only |
Supported protocols (e.g "HTTP", "RTSP") |
MIMETypes |
as |
read-only |
Supported MIME types |
URI |
s |
read-write |
Currently set URI |
State |
s |
read-only |
Playback state. Possible values are "STOPPED", "PLAYING", "PAUSED" |
Duration |
u |
read-only |
Duration of current media, in seconds |
Position |
u |
read-only |
Current position in the currently set media, in seconds |
This interface must have the following methods:
org.gnome.MediaPlayer1.Play () org.gnome.MediaPlayer1.Pause () org.gnome.MediaPlayer1.Stop ()
The interface have the following signals:
MuteToggled (b muted) VolumeChanged (u volume) URIChanged (s uri) StateChanged (s state)