On Sat, Jul 27, 2019 at 05:26:30PM -0600, Samuel Larkin wrote:
> 
> >Synopsis:    Sndiod failds with >16 audio channels
> >Category:    system
> >Environment:
>       System      : OpenBSD 6.5
>       Details     : OpenBSD 6.5-current (GENERIC.MP) #148: Sat Jul 27 
> 10:00:49 MDT 2019
>                        
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
> >Description:
>       I am using a Focusrite Scarlett 18i8 2nd Gen, which has 18 input
>       audio channels. When I run 'sndiod -ddd -f rsnd/1' I get the output
> 
>       snd0 pst=cfg.default: rec=0:1 play=0:1 vol=23170 dup
>       helper(helper|ini): created
>       worker(worker|ini): created
>       listen(/tmp/sndio/sock0|ini): created
>       sock(sock|ini): created
>       helper: recv: cmd = 0, num = 0, mode = 3, fd = -1
>       helper: send: cmd = 3, num = 0, mode = 0, fd = 3
>       sock,rmsg,widl: AUTH message
>       sock,rmsg,widl: HELLO message
>       sock,rmsg,widl: hello from <firefox>, mode = 1, ver 7
>       snd0 pst=cfg: device requested
>       worker: send: cmd = 0, num = 0, mode = 3, fd = -1
>       worker: recv: cmd = 3, num = 0, mode = 0, fd = 6
>       rsnd/1: 18: unsupported number of rec channels
>       snd0 pst=cfg: rsnd/1: failed to open audio device
>       sock,rmsg,widl: closing
>       sock(sock|zom): destroyed
>       worker(worker|zom): destroyed
>       listen(/tmp/sndio/sock0|zom): destroyed
>       snd0 pst=cfg: draining
>       nothing to do...
>       snd0 pst=cfg: deleting
>       helper: hup
>       helper(helper|zom): destroyed
>       nothing to do...
> 
>       Note the line 'rsnd/1: 18: unsupported number of rec channels'
>       
>       I can see that in /src/usr.bin/sndiod/defs.h that 'NCHAN_MAX' is set to 
> 16.
>       Is this something that can easily be set higher?
> 
> >How-To-Repeat:
>       run 'sndiod -f rsnd/1' with rsnd/1 having more than 16 audio channels
> >Fix:
>       It could be as easy as setting NCHAN_MAX higher but I am not familiar
>       with sndio so I don't know if that will work

Yes that should work. I'll look at this. Meanwhile, you could crank
sndiod and aucat's NCHAN_MAX to 64.  They are defined in
src/usr.bin/sndiod/defs.h and src/usr.bin/aucat/defs.h respectively.

I'm very curious to know how the uaudio driver handles this device,
it's the first time someone tries a device with that many channels on
OpenBSD. Until now the record was held by the 12-channel Delta-1010.

Reply via email to