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)

Projects/Rygel/MediaPlayerSpec (last edited 2013-11-22 15:31:09 by WilliamJonMcCann)