I have been using the http://lmsip:9000/stream.mp3 in an experiment to get Amazon Alexa device to act as a (sort of) LMS player.
It works - but - there is a big lag between doing things forcing a "next track" event and the music changing.
I suspect that this is because the device requests data up to an internal memory size limit so that it can buffer things to cover temporary delays in internet transmissions or a pause to allow an Alexa announcement to be played.
Could there be a way for LMS to throttle how much it sends out (perhaps configurable per player) so that it stalls responding to GETs until it calculates that the device should have X seconds of data ahead of the calculated expected playout.
If X was around 2-5 seconds then I suspect that it would make the response to Next Track and similar much more like a real device using Slimproto.
Making it configurable per device (with default of no throttling) then this would not have unexpected side effects on other users of stream.mp3
I had a quick look at slimserver/Slim/Web/HTTP.pm and can see where it starts - but I didn't spot where I might be able to add code to do this sort of thing.
It works - but - there is a big lag between doing things forcing a "next track" event and the music changing.
I suspect that this is because the device requests data up to an internal memory size limit so that it can buffer things to cover temporary delays in internet transmissions or a pause to allow an Alexa announcement to be played.
Could there be a way for LMS to throttle how much it sends out (perhaps configurable per player) so that it stalls responding to GETs until it calculates that the device should have X seconds of data ahead of the calculated expected playout.
If X was around 2-5 seconds then I suspect that it would make the response to Next Track and similar much more like a real device using Slimproto.
Making it configurable per device (with default of no throttling) then this would not have unexpected side effects on other users of stream.mp3
I had a quick look at slimserver/Slim/Web/HTTP.pm and can see where it starts - but I didn't spot where I might be able to add code to do this sort of thing.