On Mon, Jul 3, 2023 at 9:25 PM Takashi Iwai <tiwai@xxxxxxx> wrote: > On Mon, 03 Jul 2023 15:12:55 +0200, > Hans Verkuil wrote: > > > > 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... > > All agreed. Especially in this case, it doesn't have to be in V4L2 > API, as it seems. > > (Though, the support of audio on V4L2 might be useful if it's closely > tied with the a stream. But that's another story.) > audio is a stream, for this m2m audio case, V4L2 is the best choice I found. I know there is API change for V4L2, but V4L2 is a good framework for memory to memory, I think it is worth to do this change. if implement this M2M case in ALSA, we may need to create a sound card and open it twice for playback and capture, it is complicated to do this, and I am not sure if there is any other issue besides these. I can't find an example in the ALSA framework for this case. best regards wang shengjiu > > > thanks, > > Takashi >