Bug 416102

Summary: Broken MPRIS implementation
Product: [Plasma] plasmashell Reporter: Jason Gray <jasonlevigray3>
Component: DataEnginesAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: normal CC: kde
Priority: NOR    
Version First Reported In: master   
Target Milestone: 1.0   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

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