relaxes asrc to not flip flop bang bang; use pyalsaaudio for dante.

This commit is contained in:
2026-04-27 10:27:54 +02:00
parent 2410b01f15
commit 14827288e7
+6 -2
View File
@@ -206,7 +206,7 @@ class PyAlsaAudioInput(audio_io.ThreadedAudioInput):
length, data = self._pcm.read_sw(frame_size + self._bang_bang)
avail = self._pcm.avail()
SETPOINT = 120
TOLERANCE = 40
TOLERANCE = 80
if avail < SETPOINT - TOLERANCE:
self._bang_bang = -1
elif avail > SETPOINT + TOLERANCE:
@@ -811,7 +811,11 @@ class Streamer():
if input_format == 'auto':
raise ValueError('input format details required for alsa input')
pcm = audio_io.PcmFormat.from_str(input_format)
audio_input = AlsaArecordAudioInput(audio_source[5:], pcm)
device_name = audio_source[5:]
if device_name.startswith('dante_'):
audio_input = PyAlsaAudioInput(device_name, pcm)
else:
audio_input = AlsaArecordAudioInput(device_name, pcm)
else:
audio_input = await audio_io.create_audio_input(audio_source, input_format)
# Store early so stop_streaming can close even if open() fails