On 03/07/2023 14:53, Mark Brown wrote:
On Mon, Jul 03, 2023 at 02:07:10PM +0200, Takashi Iwai wrote:
Shengjiu Wang wrote:
There is no such memory to memory interface defined in ALSA. Seems ALSA is not designed for M2M cases.
There is no restriction to implement memory-to-memory capture in ALSA framework. It'd be a matter of the setup of PCM capture source, and you can create a corresponding kcontrol element to switch the mode or assign a dedicated PCM substream, for example. It's just that there was little demand for that.
Yeah, it's not a terrible idea. We might use it more if we ever get better support for DSP audio, routing between the DSP and external devices if driven from the CPU would be a memory to memory thing.
I'm not much against adding the audio capture feature to V4L2, though, if it really makes sense. But creating a crafted /dev/audio* doesn't look like a great idea to me, at least.
I've still not looked at the code at all.
My main concern is that these cross-subsystem drivers are a pain to maintain. So there have to be good reasons to do this.
Also it is kind of weird to have to use the V4L2 API in userspace to deal with a specific audio conversion. Quite unexpected.
But in the end, that's a decision I can't make.
So I wait for that feedback. Note that if the decision is made that this can use V4L2, then there is quite a lot more that needs to be done: documentation, new compliance tests, etc. It's adding a new API, and that comes with additional work...
Regards,
Hans