From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010710 Description of problem: sounds work in X with KDE, but playing sounds from the console or trying to configure the sound card on the console b0rk badly. How reproducible: Always Steps to Reproduce: 1.play /usr/share/sounds/something.wav 2. get the error message 3. also run sndconfig Actual Results: [root@djpowell ]# !play play /usr/share/sounds/KDE_Startup.wav sox: Sound card appears to only support -21 channels. Overriding format sox: Can't average 1 channels into -21 channels [root@djpowell ]# Expected Results: expect to configure the sound card, OR play a wave file. Additional info: 00:00.0 Host bridge: Intel Corporation 82810E GMCH [Graphics Memory Controller Hub] (rev 03) Subsystem: Dell Computer Corporation: Unknown device 00b4 Flags: bus master, fast devsel, latency 0 00:01.0 VGA compatible controller: Intel Corporation 82810E CGC [Chipset Graphics Controller] (rev 03) (prog-if 00 [VGA]) Subsystem: Dell Computer Corporation: Unknown device 00b4 Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 9 Memory at f4000000 (32-bit, prefetchable) [size=64M] Memory at ff000000 (32-bit, non-prefetchable) [size=512K] Capabilities: [dc] Power Management version 1 00:1e.0 PCI bridge: Intel Corporation 82801AA PCI Bridge (rev 02) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 I/O behind bridge: 0000e000-0000efff Memory behind bridge: fc000000-feffffff Prefetchable memory behind bridge: f8000000-f9ffffff 00:1f.0 ISA bridge: Intel Corporation 82801AA ISA Bridge (LPC) (rev 02) Flags: bus master, medium devsel, latency 0 00:1f.1 IDE interface: Intel Corporation 82801AA IDE (rev 02) (prog-if 80 [Master]) Subsystem: Intel Corporation 82801AA IDE Flags: bus master, medium devsel, latency 0 I/O ports at ffa0 [size=16] 00:1f.2 USB Controller: Intel Corporation 82801AA USB (rev 02) (prog-if 00 [UHCI]) Subsystem: Intel Corporation 82801AA USB Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at ff80 [size=32] 00:1f.3 SMBus: Intel Corporation 82801AA SMBus (rev 02) Subsystem: Intel Corporation 82801AA SMBus Flags: medium devsel, IRQ 11 I/O ports at dcd0 [size=16] 00:1f.5 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio (rev 02) Subsystem: Dell Computer Corporation: Unknown device 00b4 Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at d800 [size=256] I/O ports at dc80 [size=64] 01:07.0 VGA compatible controller: nVidia Corporation Vanta [NV6] (rev 15) (prog-if 00 [VGA]) Subsystem: nVidia Corporation: Unknown device 0006 Flags: 66Mhz, medium devsel, IRQ 9 Memory at fd000000 (32-bit, non-prefetchable) [disabled] [size=16M] Memory at f8000000 (32-bit, prefetchable) [disabled] [size=32M] Expansion ROM at <unassigned> [disabled] [size=64K] Capabilities: [60] Power Management version 1 01:0c.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 78) Subsystem: Dell Computer Corporation: Unknown device 00b4 Flags: bus master, medium devsel, latency 64, IRQ 10 I/O ports at ec80 [size=128] Memory at fcfffc00 (32-bit, non-prefetchable) [size=128] Expansion ROM at fe000000 [disabled] [size=128K] Capabilities: [dc] Power Management version 2
This defect is considered SHOULD-FIX for Fairfax.
Looking at this, this seems more like a kernel problem. The code in question in sox does: tmp = dsp_stereo; if (ioctl(fileno(ft->fp), SNDCTL_DSP_STEREO, &tmp) < 0) { st_warn("Couldn't set to %s", dsp_stereo? "stereo":"mono"); dsp_stereo = 0; } if (tmp != dsp_stereo) { st_warn("Sound card appears to only support %d channels. Overriding fo$ ft->info.channels = tmp + 1; } So, it's getting -22 (EINVAL) returned *in tmp*, which doesn't seem right. I thought the OSS semantics was that tmp would contain the number of channels actually used.
*** Bug 51743 has been marked as a duplicate of this bug. ***
Doug: would this be fixed in your latest patch ?
I think this is fixed in the latest ac patches.
It's fixed in ac and also will be in my next patch (I'm currently syncing with Alan at the moment).