Closed isolatedvirus closed 4 months ago
I am encountering the same issue with squeezelite clients connected via stdout or fifo to snapcast 0.27. I've verified that the squeezelite client sends no data when idle but snapserver will not actually mark the source as such.
I have a same problem. I have a pulse audio source that is written into a pipe. Snapserver reads that pipe. I have a metastream that changes between that pipe and other inputs. The pipe has the highest priority. After a certain runtime the snapserver does not change the the source of the metastream anymore. It just keeps switched on the pipe even if nothing writes to the pipe.
When using alsa capturing, you will always have some noise floor, you can configure a threshold for this with the silence_threshold_percent
parameter
Snapserver configured to accept fifo output from snapclient will not change the source to idle when nothing is playing. This results in silence being played, and will also block audio from lower priority sources when configured in a meta source. Current workaround is to list the source as lower priority in the meta source config to avoid blocking audio, but this does not address the constant output of silence.
Setup Central snapcast server is being used to stream audio to various phones, raspi devices, laptops, etc. This server is not physically located where i want to capture audio. The audio flow is: alsa capture device --> snapserver --> snapclient (output to named pipe /tmp/vinyl) --> snapserver (read from named pipe /tmp/vinyl) --> snapclients
I've included a diagram to hopefully make this more clear:
Steps to Reproduce 1.Configure downstream snapcast server to send audio 2.Configure upstream snapcast client to pipe audio to fifo file using "--player file:/tmp/filename" 3.Configure snapcast server on upstream client to utilize the same fifo pipe. 4.Configure meta source on upstream server and set higher priority for the new fifo pipe 5.Play audio to lower priority source. This source will be blocked as the higher priority "snapclient fifo source" will begin blocking. This source will not be marked idle regardless of any dryout_ms setting.
Environment details
Debug log output Logs from Fedora snapclient
Logs from Fedora snapserver