I read your Medium article and you briefly touched on the issue of messages coming much later than actual events (like pressing pause on the remote and being notified of it), and so on.
Is it possible you are queuing up messages in protocol buffer state (or something like that) that aren't processed as received (but really are received)?
If my guess is right, only upon next message filling up the input buffers more will cause the prior event to be "received" and this would be much later than expected.
The play/pause/stopped state is completely unreliable for me.
I read your Medium article and you briefly touched on the issue of messages coming much later than actual events (like pressing pause on the remote and being notified of it), and so on.
Is it possible you are queuing up messages in protocol buffer state (or something like that) that aren't processed as received (but really are received)?
If my guess is right, only upon next message filling up the input buffers more will cause the prior event to be "received" and this would be much later than expected.
The play/pause/stopped state is completely unreliable for me.