Messages in this thread | | | Date | Fri, 12 Apr 1996 20:35:02 -0400 (EDT) | From | Scott Street <> | Subject | Linux Sound ioctls? 1.3.8x |
| |
Kernel Sound hackers,
I have been trying to get the a simple WAV file player working, I downloaded a package from sunsite, but never could get it to work either. I'm not sure if it kernel related or sound driver related.
The problem is, anytime I call an ioctl with SNDCTL_* requests, I only get a Segfault and no real reason why is appearent.
Is case it matters,gcc 2.7.0 on a pentium 90.
Sample program and strace...
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/ioctl.h> #include <linux/soundcard.h>
int main() {
int speed; int audiodev;
audiodev= open("/dev/dsp", O_RDWR);
speed = ioctl( audiodev, SNDCTL_DSP_SPEED, 11500);
printf("Audio Playback speed set to %d\n", speed);
return 0; }
strace a.out | more open("", O_RDONLY) = 3 mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x40006000 close(3) = 0 mprotect(0x40000000, 17899, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x8000000, 1482, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 getuid() = 0 geteuid() = 0 getgid() = 0 getegid() = 0 stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=3477, ...}) = 0 open("/etc/ld.so.cache", O_RDONLY) = 3 mmap(0, 3477, PROT_READ, MAP_SHARED, 3, 0) = 0x40007000 close(3) = 0 open("/lib/libc.so.5.0.9", O_RDONLY) = 3 open("/dev/zero", O_RDONLY) = 4 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096 mmap(0, 720896, PROT_NONE, MAP_PRIVATE, 4, 0) = 0x40008000 mmap(0x40008000, 489361, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40008000 mmap(0x40080000, 19860, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x77000) = 0x40080000 mmap(0x40085000, 205176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x40085000 close(4) = 0 close(3) = 0 mprotect(0x40008000, 489361, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 munmap(0x40007000, 3477) = 0 mprotect(0x8000000, 1482, PROT_READ|PROT_EXEC) = 0 mprotect(0x40008000, 489361, PROT_READ|PROT_EXEC) = 0 mprotect(0x40000000, 17899, PROT_READ|PROT_EXEC) = 0 SYS_136(0, 0x1, 0x4, 0x40000000, 0x40001df0) = 0 brk(0) = 0x80016a4 open("/dev/dsp", O_RDWR) = 3 ioctl(3, 0xc0045002 <unfinished ...> +++ killed by SIGSEGV +++
| |