Difference between revisions of "DBus"

From VideoLAN Wiki
Jump to navigation Jump to search
m (syntaxhighlight)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
See [[DBus-spec]]
+
{{See also|DBus-spec|DBus-usage}}
  
 
== TODO for DBus integration ==
 
== TODO for DBus integration ==
  
=== List all signals, methods with their arguments and return value ===
+
VLC implements [[DBus-spec]], a desktop-neutral document, that aims to be suitable for every Media Players.
  
=== Decide service bahaviour ===
+
=== Decide service behaviour ===
  
 
Could vlc be a on-demand startable service, would it be useful ?
 
Could vlc be a on-demand startable service, would it be useful ?
  
We just have to create a /usr/share/dbus-1/org.videolan.vlc.service:
+
We just have to create a /usr/share/dbus-1/org.freedesktop.MediaPlayer.service:
----
+
 
 +
<syntaxhighlight lang="ini">
 
[D-BUS Service]
 
[D-BUS Service]
  
Name=org.videolan.vlc
+
Name=org.freedesktop.MediaPlayer
  
 
Exec=/usr/bin/vlc -I dummy --control dbus
 
Exec=/usr/bin/vlc -I dummy --control dbus
---
+
</syntaxhighlight>
 
 
=== Missing features ===
 
 
 
playlist => we can export to a temporary file using xspf or m3u, and let the remote application do whatever it wants to do with that file.
 
can either take the file path as an argument, or return the path of the newly created file.
 
 
 
it'd be cool to create network streams too, using mrl ?
 
 
 
== List of signals and methods already implemented ==
 
 
 
 
 
 
 
=== Signals ===
 
 
 
''''Signal' (signature) : description'''
 
 
 
'ItemChange' (s) : Emitted when a new input element is played, the string contains the filename, or the input name if it has some metadata
 
 
 
=== Methods ===
 
 
 
''''Method' (input signature) = (output signature) : description'''
 
 
 
'GetPlayStatus' () = (s) : return "play" "pause" "stopped" or "unknown"
 
 
 
'GetPlayingItem' () = (s) : return the filename of the current item being played, or it's name if it has some metadata. Same data provided by "ItemChange"
 
 
 
'ToglePause' () = (b) : toggle the play/pause status, and start playing if it was stopped, return true if playing, false if paused
 
 
 
'AddMRL' (sb) = () : add string to the playlist, and play it if bool is true
 
 
 
'Nothing' () = () : do nothing, just here for tests, and code example
 
 
 
'Quit' () = () : exits vlc
 
 
 
'Stop' () = () : stop playlist
 
 
 
'Prev' () = () : plays previous playlist item
 
 
 
'Next' () = () : plays next playlist item
 
 
 
'PositionGet' () = (q) : get an uint16 in the range [0;1000] representing the position of current input, or 0 if no input
 
 
 
'PositionSet' (q) = () : gives an uint16 in the range [0;1000] to set the position of current input
 
 
 
'VolumeGet' () = (q) : get an uint16 in the range [0;100] representing the current volume
 
 
 
'VolumeSet' (q) = () : gives an uint16 in the range [0;100] to set the current volume
 
  
'PlaylistExport_XSPF' (s) = (q) : takes a filename as argument, write the playlist to it in XSPF format, returns uint16 this way: 0 means success, 1 means error writing file, 2 means playlist empty
+
[[Category:Development]]

Latest revision as of 03:54, 19 March 2019

See also: DBus-spec and DBus-usage

TODO for DBus integration

VLC implements DBus-spec, a desktop-neutral document, that aims to be suitable for every Media Players.

Decide service behaviour

Could vlc be a on-demand startable service, would it be useful ?

We just have to create a /usr/share/dbus-1/org.freedesktop.MediaPlayer.service:

[D-BUS Service]

Name=org.freedesktop.MediaPlayer

Exec=/usr/bin/vlc -I dummy --control dbus