On Thu, Jul 25, 2019 at 03:01:12PM +0200, Maxime Ripard wrote:
Since I have two codecs, I have two links (described through simple-card) and thus two subdevices. However, the microphones connected are really separate streams, so ideally (I guess?) we should have 1 subdevice per microphone.
An alternative would be that we capture the whole 4 channels and use dsnoop to demux them, but trying to use the device directly (using arecord -D hw:0) results in the ioctl to change the number of channels being rejected, I'm assuming because each codec only has 2 channels?
So I'm a bit lost at this point about how I should go and expose this. I couldn't really find any similar setup either in the kernel. Any preferred way of doing this?
What is the actual hardware - what do the microphones physically look like in the system, what functional role do they play? My initial guess would be to combine them into a single PCM for userspace, there's some support for that but it's not surprising if that's broken somewhere along the line as it's very infrequently tested.