[alsa-devel] Cannot combine audio devices with more than 64 channels

John Rigg aldev2 at jrigg.co.uk
Wed Feb 8 17:20:12 CET 2017


On Wed, Feb 08, 2017 at 03:12:37PM +0100, Jörg Müller wrote:
> John Rigg informed me about the port-max-option of Jack. So I tried
> running the following commands:
> jackd --port-max 1024 -d alsa -C madifx_record_all -P madifx_playback_all
> jackd -p 1024 -d alsa -C madifx_record_all -P madifx_playback_all
> jackd -p1024 -d alsa -C madifx_record_all -P madifx_playback_all
> 
> I also tried ommiting either the option of -C or of -P. But I keep
> getting the same error:
> jackd: ../linux/alsa/JackAlsaDriver.cpp:122: virtual int
> Jack::JackAlsaDriver::Attach(): Assertion `fCaptureChannels < 256'
> failed.
> 
> So does that mean jackd doesn't recognize the parameter -p 1024?

I just tried jackd -p1024 here and there's no error message. I don't
have the hardware to easily test that many ports. I'm using pcm_multi
with three ice1712 cards and that accepts the jackd -p1024 option.
I tried adding jack clients until the default 256 ports was exceeded,
and there's no problem (tried up to 324 ports so far).

In jack2/common/JackGlobals.h it has the following:
#ifndefine PORT_NUM_MAX
#define PORT_NUM_MAX 4096
#endif

It looks like there's a restriction on driver capture and/or
playback channels somewhere, but you might have to grep through
the alsa and jack2 source code to find it.

John


More information about the Alsa-devel mailing list