Results 1 to 1 of 1
I would like to access the mic input on my laptop through V4L2. I thought the best way to start would be to locate the API doc, read it and ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 09-03-2009 #1
- Join Date
- Sep 2009
V4l2 API and Audio
I would like to access the mic input on my laptop through V4L2. I thought the best way to start would be to locate the API doc, read it and write a small program. The problem is, I don't know which device file to open. I have several device files that look related to audio, but when I try to perform a VIDIOC_ENUMAUDIO or VIDIOC_ENUMAUDOUT, the ioctl returns an error (usually 'Invalid Argument'). I have tried /dev/audio/ and /dev/mixer and the various files under /dev/snd. I believe the /dev/snd are ALSA devices and I believe these are what show up in /proc/asound/devices. There is no /dev/video device file.
I would like to go through V4L2 if for nothing more than to learn more about it. If I must use ALSA, then I guess I will. In any event, here is the code - hopefully it will help:
int main(int argc, char *argv)
struct v4l2_audio audioParms;
fdAudio= open("/dev/snd/pcmC0D0p", O_RDWR);
if (fdAudio >= 0)
if (ioctl(fdAudio,VIDIOC_ENUMAUDOUT,&audioParms) == 0)
printf("v4ltest: ERROR %d trying VIDIOC_ENUMAUDOUT on index %d\n",errno,audioParms.index);
perror("v4ltest: ioctl error ");
perror("v4ltest: ERROR opening audio device ");