Comment 1 for bug 1182580

Revision history for this message
moma (osmoma) wrote :

Hello,
Those VOIP-clients should support the MPRIS2-spesification. This is how the media players interact the the Audio-Recorder program. Please see http://specifications.freedesktop.org/mpris-spec/latest/

See the mpris2_detect_players() function in src/dbus-mpris2.c, it detects all players (and maybe voip-clients?) that broadcast themselves as org.mpris.MediaPlayer2.xxxx on the DBus. Replace xxxx with a name of your void-client.

Voip-clients should reply to these DBus (MPRIS2) requests:

"Identity" : They should return its name + version, like "Ekiga 2.3".

"DesktopEntry" : They should return the base_name of its desktop file.
                          If your desktop file is "xxxx.desktop" then return "xxxx". Drop the .desktop part.
                          Audio-recorder will read the program's executable name from "xxxx" + ".desktop" file.

The voip-clients should return data to the "Metdata" request and some kind of start/stop/paused signals.

The Pithos media player provides a good sample of simple MPRIS2-interface.
http://kevinmehall.net/p/pithos/

Please see:
http://bazaar.launchpad.net/~osmoma/audio-recorder/trunk/view/head:/src/dbus-mpris2.c

The Skype-module is espescialmente hardcoded for the audio-recorder. Please see the
http://bazaar.launchpad.net/~osmoma/audio-recorder/trunk/view/head:/src/dbus-skype.c module.

The other VOIP-clients should implement the MPRIS2 or equivalent standard. It may not be easy hardcode or maintain spesific modules for all of'em.

It is possible that the sound-menu also reads and responds to MPRIS2-messages (from the DBus) and displays correct play-information and status in the menu.