While I was working on the squeezelite esp32 port, I was thinking about the following use case:
Today, squeezeplay-based players report their maximum sample rate and when LMS has a track above that rate, it tries to resample. I say "tries" because it does not always have the rules to do that, especially on live stream.
In my case of the esp32, it can do resampling, but at a lower quality. So it would be better that LMS does it if it can (it probably has more CPU) but it would be acceptable to send the stream as is. So a player could not only send a "MaxSampleRate" in its capabilities, but it could also send a "PrefSampleRate" which is a rate, or a list of rates that he would prefer LMS to use and to resample to one of these rates if possible.
I realise it might be too much a corner case
Opinions?
Today, squeezeplay-based players report their maximum sample rate and when LMS has a track above that rate, it tries to resample. I say "tries" because it does not always have the rules to do that, especially on live stream.
In my case of the esp32, it can do resampling, but at a lower quality. So it would be better that LMS does it if it can (it probably has more CPU) but it would be acceptable to send the stream as is. So a player could not only send a "MaxSampleRate" in its capabilities, but it could also send a "PrefSampleRate" which is a rate, or a list of rates that he would prefer LMS to use and to resample to one of these rates if possible.
I realise it might be too much a corner case
Opinions?