@@ -112,10 +112,6 @@ static bool getBusProperties(FFDBusData* data, const char* busName, FFMediaResul
112
112
parseMprisMetadata (data , & dictIterator , result );
113
113
else if (ffStrEquals (key , "PlaybackStatus" ))
114
114
ffDBusGetString (data , & dictIterator , & result -> status );
115
- else if (ffStrEquals (key , "Identity" ))
116
- ffDBusGetString (data , & dictIterator , & result -> player );
117
- else if (ffStrEquals (key , "DesktopEntry" ))
118
- ffDBusGetString (data , & dictIterator , & desktopIdentity );
119
115
120
116
FF_DBUS_ITER_CONTINUE (data , & arrayIterator )
121
117
}
@@ -128,18 +124,15 @@ static bool getBusProperties(FFDBusData* data, const char* busName, FFMediaResul
128
124
return false;
129
125
}
130
126
131
- if (result -> player .length == 0 )
132
- {
133
- if (desktopIdentity .length > 0 )
134
- {
135
- ffStrbufDestroy (& result -> player );
136
- ffStrbufInitMove (& result -> player , & desktopIdentity );
137
- }
138
- else
139
- {
140
- ffStrbufAppend (& result -> player , & result -> playerId );
141
- }
142
- }
127
+ //Set short bus name
128
+ ffStrbufAppendS (& result -> playerId , busName + sizeof (FF_DBUS_MPRIS_PREFIX ) - 1 );
129
+
130
+ //We found a song, get the player name
131
+ ffDBusGetPropertyString (data , busName , "/org/mpris/MediaPlayer2" , "org.mpris.MediaPlayer2" , "Identity" , & result -> player );
132
+ if (result -> player .length == 0 )
133
+ ffDBusGetPropertyString (data , busName , "/org/mpris/MediaPlayer2" , "org.mpris.MediaPlayer2" , "DesktopEntry" , & result -> player );
134
+ if (result -> player .length == 0 )
135
+ ffStrbufAppend (& result -> player , & result -> playerId );
143
136
144
137
data -> lib -> ffdbus_message_unref (reply );
145
138
0 commit comments