@@ -112,10 +112,6 @@ static bool getBusProperties(FFDBusData* data, const char* busName, FFMediaResul
112112 parseMprisMetadata (data , & dictIterator , result );
113113 else if (ffStrEquals (key , "PlaybackStatus" ))
114114 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 );
119115
120116 FF_DBUS_ITER_CONTINUE (data , & arrayIterator )
121117 }
@@ -128,18 +124,15 @@ static bool getBusProperties(FFDBusData* data, const char* busName, FFMediaResul
128124 return false;
129125 }
130126
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 );
143136
144137 data -> lib -> ffdbus_message_unref (reply );
145138
0 commit comments