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() {
271
271
272
272
auto trackChanged = false ;
273
273
274
+ QString trackId;
274
275
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 ();
281
281
}
282
282
}
283
283
284
+ if (trackId != this ->mTrackId ) {
285
+ this ->mTrackId = trackId;
286
+ trackChanged = true ;
287
+ }
288
+
284
289
// Helps to catch players without trackid.
285
290
auto urlVariant = this ->pMetadata .get ().value (" xesam:url" );
286
291
if (urlVariant.isValid () && urlVariant.canConvert <QString>()) {
You can’t perform that action at this time.
0 commit comments