[linux-audio-user] Opening Stereo 8-bit 8-K Audio Streams
Adam Sampson
ats at offog.org
Mon Jan 8 15:39:12 EST 2007
Martin McCormick <martin at dc.cis.okstate.edu> writes:
> The audio device file descriptor is defined as
> FILE *audio_fd;
...
> Breakpoint 2, main (argc=2, argv=0xbffff684) at vx2ch.c:118
> 118 if (ioctl(audio_fd, SNDCTL_DSP_SETFMT, &format)==-1)
A "FILE *" is not a file descriptor -- libc functions like fopen,
fread, fprintf etc. work with FILE *s, and system calls like open,
read and ioctl work with integer file descriptors. You can use the
fileno function to get the file descriptor that the FILE * is using,
so change "audio_fd" to "fileno(audio_fd)" in that ioctl call, and it
should be a bit happier.
The compiler should be complaining about you converting a pointer to
an integer when you compile that ioctl call as it currently stands;
it's always a good idea to use the -Wall compiler flag and pay careful
attention to the warnings it produces.
--
Adam Sampson <ats at offog.org> <http://offog.org/>
More information about the Linux-audio-user
mailing list