Bug 357620 - Expose album art via MPris
Summary: Expose album art via MPris
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: D-Bus interfaces (other bugs)
Version First Reported In: 2.8.90 (2.9 beta)
Platform: Other Linux
: NOR wishlist
Target Milestone: 2.9
Assignee: Amarok Bugs
URL:
Keywords:
: 507254 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-01-06 15:18 UTC by Kai Uwe Broulik
Modified: 2025-07-20 11:05 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kai Uwe Broulik 2016-01-06 15:18:13 UTC
Amarok should expose the album art of the currently played song via MPris.

See [1] for the specification of the "mpris:artUrl" in the Metadata of the MediaPlayer2.Player interface.

[1] https://wiki.freedesktop.org/www/Specifications/mpris-spec/metadata/#index3h4 

Reproducible: Always

Steps to Reproduce:
1. Play an MP3 file with embedded album art
2.
3.

Actual Results:  
No album art exposed via MPris

Expected Results:  
Album art is expoed via MPris

Playing the same file in VLC player correctly exposes album art
Comment 1 Kai Uwe Broulik 2016-01-16 19:06:16 UTC
It depends on the file, it does work with some of them while it always works in VLC.
Comment 2 Tuomas Nurmi 2025-07-20 10:20:12 UTC
*** Bug 507254 has been marked as a duplicate of this bug. ***
Comment 3 Tuomas Nurmi 2025-07-20 11:05:09 UTC
Git commit 913761444c9e0fc254ef84b03b288ddf63a12074 by Tuomas Nurmi.
Committed on 20/07/2025 at 10:41.
Pushed by nurmi into branch 'master'.

Also transmit embedded cover art through MPRIS

Building a QUrl with QUrl::fromLocalFile prefixed the embedded album art url
("amarok-sqltrackuid://...") with file:, producing a malformed scheme
("file:amaroksqltrackuid://...") which still looks like a valid local url in
mpris20MapFromTrack. After making sure that amarok-sqltrackuid scheme stays
intact, mpris20MapFromTrack actually had all the bits in place to create a
cached image for the embedded one. Everything was there, it just didn't work.
Surprisingly simple fix.

M  +1    -0    ChangeLog
M  +7    -1    src/core-impl/collections/db/sql/SqlMeta.cpp

https://invent.kde.org/multimedia/amarok/-/commit/913761444c9e0fc254ef84b03b288ddf63a12074