File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -271,16 +271,21 @@ void MprisPlayer::onMetadataChanged() {
271271
272272 auto trackChanged = false ;
273273
274+ QString trackId;
274275 auto trackidVariant = this ->pMetadata .get ().value (" mpris:trackid" );
275- if (trackidVariant.isValid () && trackidVariant.canConvert <QString>()) {
276- auto trackId = trackidVariant.toString ();
277-
278- if (trackId != this ->mTrackId ) {
279- this ->mTrackId = trackId;
280- trackChanged = true ;
276+ if (trackidVariant.isValid ()) {
277+ if (trackidVariant.canConvert <QString>()) {
278+ trackId = trackidVariant.toString ();
279+ } else if (trackidVariant.canConvert <QDBusObjectPath>()) {
280+ trackId = trackidVariant.value <QDBusObjectPath>().path ();
281281 }
282282 }
283283
284+ if (trackId != this ->mTrackId ) {
285+ this ->mTrackId = trackId;
286+ trackChanged = true ;
287+ }
288+
284289 // Helps to catch players without trackid.
285290 auto urlVariant = this ->pMetadata .get ().value (" xesam:url" );
286291 if (urlVariant.isValid () && urlVariant.canConvert <QString>()) {
You can’t perform that action at this time.
0 commit comments