Bug 416102 - Broken MPRIS implementation
Summary: Broken MPRIS implementation
Status: RESOLVED NOT A BUG
Alias: None
Product: plasmashell
Classification: Plasma
Component: DataEngines (show other bugs)
Version: master
Platform: unspecified Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-10 22:38 UTC by Jason Gray
Modified: 2020-01-13 07:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Gray 2020-01-10 22:38:41 UTC
https://phabricator.kde.org/D22596 Checks for the presence of the 
SupportedUriSchemes and SupportedMimeTypes properties to verify that a player complies with the MPRIS spec. The problem is that it's perfectly valid for a player to not support the opening of external media files and so report nothing for those properties (and empty array or an array with a single empty string and so on). As those properties are meant to let clients know what the player can open with the OpenUri method.

This overzealous check breaks MPRIS support for basically any player that doesn't lie about not being able to open external media.

Pithos for example:

https://github.com/pithos/pithos/issues/595
Comment 1 Kai Uwe Broulik 2020-01-13 07:27:58 UTC
We check whether the property *exists*, not that it is not empty. The property *must* exist according to MPRIS spec, it is not marked as optional [1]. Returning empty is fine and we do that in plasma-browser-integration which works, so I don't know why this player wouldn't work.

[1] https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html#Property:SupportedUriSchemes