Code: Select all
# lspci | grep audio
03:00.0 Multimedia audio controller: C-Media Electronics Inc CMI8738/CMI8768 PCI Audio (rev 10)
audio card. It works fine with oss_cmpci kernel module. I can output and capture sound, but the mixer doesn't work.
Code: Select all
# ossmix
Segmentation fault
I've investigated it a bit with gdb. and the problem is on line 128 in function load_devinfo:
Code: Select all
if (thisrec->type == MIXT_DEVROOT)
root = (oss_mixext_root *) thisrec->data;
this check happens in a loop, but the condition is never fulfilled, leaving root NULL which in turn makes show_devinfo fail when accessing root->name.
Code: Select all
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a8b420 in vfprintf () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff7a8b420 in vfprintf () from /lib64/libc.so.6
#1 0x00007ffff7a91af9 in printf () from /lib64/libc.so.6
#2 0x0000000000401cf7 in show_devinfo (dev=0) at ossmix.c:433
#3 0x00000000004043f6 in main (argc=1, argv=0x7fffffffdd58) at ossmix.c:1265
(gdb) frame 2
#2 0x0000000000401cf7 in show_devinfo (dev=0) at ossmix.c:433
433 printf ("Selected mixer %d/%s\n", dev, root->name);