[Pkg-alsa-devel] Bug#359851: linux-sound-base: OSS emulation
incorrectly disabled
David Liontooth
liontooth at cogweb.net
Wed Mar 29 09:04:35 UTC 2006
Package: linux-sound-base
Version: 1.0.10-3
Severity: normal
The symlink to /lib/linux-sound-base/noOSS.modprobe.conf may be involved in
incorrectly disabling oss emulation.
On a mainline 2.6.16 kernel, I built the oss emulation components as modules:
# lsmod | grep oss
snd_pcm_oss 51872 0
snd_mixer_oss 17536 1 snd_pcm_oss
snd_pcm 92296 4 saa7134_alsa,snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd 60256 7 saa7134_alsa,snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
The new saa7134-oss module creates device nodes:
saa7134 OSS driver for DMA sound loaded
saa7133[0]: registered device dsp1
saa7133[0]: registered device mixer1
saa7133[1]: registered device dsp2
saa7133[1]: registered device mixer2
To record from VLC using a v4l card, I issue
vlc v4l:/dev/video2:norm=ntsc:frequency=77250:size=640x480:channel=5:\
adev=/dev/dsp2:samplerate=32000:audio=0:stop-time=$TIM \
--sout "#transcode{vcodec=h264,fps=29.97,acodec=mpga}\
:std{access=file,mux=asf,dst=$DIR/$FIL.mpg}" aspect-ratio "4:3" -I dummy
I get in response,
/usr/sbin/alsactl: load_state:1250: Cannot find soundcard '2'...
ALSA lib pcm_hw.c:1305:(_snd_pcm_hw_open) Invalid value for card
Error opening audio: No such device
This is true -- there is no soundcard 2 as far as alsa is concerned:
$ cat /proc/asound/cards
0 [CK8S ]: NFORCE - NVidia CK8S
NVidia CK8S with ALC850 at 0xfc003000, irq 17
But alsa should see the oss devices through the oss emulation.
When I remove the symlink to /lib/linux-sound-base/noOSS.modprobe.conf in
/etc/modprobe.d before I load saa7134-oss, I get "saa7134 OSS driver for DMA sound
loaded" and the dsp1 and mixer1 device receipts, then:
saa7134 ALSA: can't load, DMA sound handler already assigned (probably to OSS)
When I now run channel-vlc, it doesn't object to /dev/dsp2, so somehow removing
the symlink allows the oss devices to be seen. Other applications that use
alsactl to validate device enumerations, for instance transcode, work under
protest and pick up sound from the card:
/usr/sbin/alsactl: load_state:1250: Cannot find soundcard '2'...
But then I get this:
[import_v4l2.so]: Audio input from saa7134 detected, you should set audio sample
rate to 32 Khz using -e
It looks like the symlink to /lib/linux-sound-base/noOSS.modprobe.conf is involved
in incorrectly disabling oss emulation.
Dave
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-agp
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Versions of packages linux-sound-base depends on:
ii debconf [debconf-2.0] 1.4.72 Debian configuration management sy
linux-sound-base recommends no packages.
-- debconf information:
linux-sound-base/sound_system: ALSA
More information about the Pkg-alsa-devel
mailing list