Thread (24 messages) read the whole thread 24 messages, 7 authors, 2023-07-19

Re: [PATCH 1/6] media: v4l2: Add audio capture and output support

From: Shengjiu Wang <shengjiu.wang@gmail.com>
Date: 2023-07-04 04:00:01
Also in: alsa-devel

On Mon, Jul 3, 2023 at 9:25 PM Takashi Iwai [off-list ref] wrote:
On Mon, 03 Jul 2023 15:12:55 +0200,
Hans Verkuil wrote:
quoted
On 03/07/2023 14:53, Mark Brown wrote:
quoted
On Mon, Jul 03, 2023 at 02:07:10PM +0200, Takashi Iwai wrote:
quoted
Shengjiu Wang wrote:
quoted
quoted
There is no such memory to memory interface defined in ALSA.  Seems
ALSA is not designed for M2M cases.
quoted
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.
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help