pacat --channels=1 /dev/zero works
pacat --channels=2 /dev/zero works
pacat --channels=3 /dev/zero pa_stream_write() failed: Invalid argument
pacat --channels=4 /dev/zero works
pacat --channels=5 /dev/zero pa_stream_write() failed: Invalid argument
pacat --channels=6 /dev/zero pa_stream_write() failed: Invalid argument
pacat --channels=7 /dev/zero pa_stream_write() failed: Invalid argument
pacat --channels=8 /dev/zero works
It looks like some very basic stuff is broken. Marking as a release blocker.
These are 3 bugs in one psymptom ;-) Fixes for the first two are sent here:
Due to the above two fixes, commands like below ones now work succesfully:
pacat --channels=3 /dev/urandom
pacat --channels=5 /dev/urandom
Third issue can be reproduced with the following command:
pacat --channels=3 /dev/random
Note device change from urandom to random. Above final issue makes pa_stream_write() fails with EINVAL due to misaligned audio - which resulted from an incomplete pa_read() due to /dev/random strict randomness semantics. Maybe we should use a ring buffer in that case. Third patch to be sent soon.
The two patches have now been applied.
Fixes for the third and final issue mentioned in the above is now submitted at:
Updated version of the last patch sent here:
This is now fixed: