librespot-org / librespot-java

The most up-to-date open source Spotify client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DealerClient ignores pending messages sometimes

notalexa opened this issue · comments

Describe the bug
The DealerClient ignores pending messages in the following situation (since two listeners are registered): The client receives a message for the second listener (pending). The first listener registers and starts processing. The message is ignored since the second listener is not registered yet.

To Reproduce
The situation was seen in the following situation (in most cases on a raspberry pi): Run the player with zeroconf. Select the player in the smartphone app. Sometimes, the player doesn't start playing and the app is waiting "forever" to display the player (because the transfer message is dropped in the player).

Expected behavior
The player should always start playing the current track

Screenshots/Stracktraces/Logs
No screenshot

Version/Commit
A fix is to start handling messages after the initialization is complete. An implementation can be found at https://github.com/notalexa/librespot-java/tree/timing-fixes (together with an additional finite socket timeout). (I hope, I found all occurences of starting the player.)