From fdc7b350949c83cc34d413e04c732acbd446fb49 Mon Sep 17 00:00:00 2001 From: OzGav Date: Fri, 6 Feb 2026 08:27:17 +1100 Subject: [PATCH] Fix squeezelite WAV playback (#3084) --- .../controllers/streams/streams_controller.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/music_assistant/controllers/streams/streams_controller.py b/music_assistant/controllers/streams/streams_controller.py index eae753e3..2724f258 100644 --- a/music_assistant/controllers/streams/streams_controller.py +++ b/music_assistant/controllers/streams/streams_controller.py @@ -1844,11 +1844,23 @@ class StreamsController(CoreController): output_sample_rate = min(48000, output_sample_rate) if output_format_str == "pcm": content_type = ContentType.from_bit_depth(output_bit_depth) + output_channels = 1 if output_channels_str != "stereo" else 2 + # For WAV format, explicitly set output_format_str with PCM parameters. + # This is needed for slimproto players which parse these parameters from the + # Content-Type header to configure the correct bit depth for decoding. + if content_type == ContentType.WAV: + wav_output_format_str = ( + f"wav;rate={output_sample_rate};bitrate={output_bit_depth};" + f"channels={output_channels}" + ) + else: + wav_output_format_str = "" return AudioFormat( content_type=content_type, sample_rate=output_sample_rate, bit_depth=output_bit_depth, - channels=1 if output_channels_str != "stereo" else 2, + channels=output_channels, + output_format_str=wav_output_format_str, ) async def _select_flow_format( -- 2.34.1