On Mon, Jul 03, 2023 at 03:12:55PM +0200, Hans Verkuil wrote:
> 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...
Absolutely, I agree with all of this - my impression was that the target
here would be bypass of audio streams to/from a v4l2 device, without
bouncing through an application layer. If it's purely for audio usage
with no other tie to v4l2 then involving v4l2 does just seem like
complication.
This audio use case is using the v4l2 application layer. in the user space
I need to call below v4l2 ioctls to implement the feature:
VIDIOC_QUERYCAP
VIDIOC_TRY_FMT
VIDIOC_S_FMT
VIDIOC_REQBUFS
VIDIOC_QUERYBUF
VIDIOC_STREAMON
VIDIOC_QBUF
VIDIOC_DQBUF
VIDIOC_STREAMOFF
why the driver was put in the ALSA, because previously we implemented
the ASRC M2P (memory to peripheral) in ALSA, so I think it is better to
add M2M driver in ALSA. The hardware IP is the same. The compatible
string is the same.
Best regards
Wang Shengjiu