snapcast icon indicating copy to clipboard operation
snapcast copied to clipboard

Move 'heavy lifting' to server (from client)

Open oliv3r opened this issue 2 months ago • 1 comments

Currently, the server has a fixed config, and the client will just have to comply. E.g. if the server decides a (computationally heavy) codec is used, the client will have to support it. If the client doesn't support a sample rate, the client has to resample.

While this can be the default behavior, it would be nice that if a client doesn't support resampling, the client will request a stream in a specific configuration, and the server will do the resampling. Obviously the server would have to be somewhat smart, to not resample every stream for every client when those are the same settings.

Likewise, if a client only supports ogg or PCM, the client should be able to request a stream in a format it supports.

This would remove some dependency pressure on the client (#1227) and also help with low-resource clients.

oliv3r avatar Apr 30 '24 07:04 oliv3r