MPRIS D-Bus interface does not conform to spec
Describe the bug
Some (or all) D-Bus org.mpris.MediaPlayer2 properties are not exposed as "variant" types.
To Reproduce
Execute this command to see the type of e.g. the org.mpris.MediaPlayer2.Identity property:
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.harmonoid /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:"org.mpris.MediaPlayer2" string:"Identity"
method return time=1762894391.720889 sender=:1.26144 -> destination=:1.26211 serial=23 reply_serial=2
string "Harmonoid"
Observe that the type is string.
Expected behavior
The output should be something like variant string "Harmonoid".
Screenshots
Here's the output for Spotify:
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:"org.mpris.MediaPlayer2" string:"Identity"
method return time=1763029958.984578 sender=:1.347 -> destination=:1.1610 serial=7433 reply_serial=2
variant string "Spotify"
All other media players I know of also report variants.
Related issues:
- https://github.com/Kistler-Group/sdbus-cpp/issues/518
- https://github.com/ungive/discord-music-presence/issues/444
Platform (please complete the following information)
- OS: Linux
- Version [e.g. Windows 11 19041, Fedora 33, Android 12 MIUI 13]
App version
Please confirm that you're on the latest version available.
- Version: v0.3.10
You'll find useful information is this comment: https://github.com/Kistler-Group/sdbus-cpp/issues/518#issuecomment-3524108411
This is my MPRIS impl: https://github.com/alexmercerind/mpris_service. I have to check where is the offending part.