[CM] Running snd when sound device unavailable

G. Vincent Castellano gvc@ocsystems.com
Sun, 09 Jan 2005 21:30:30 -0500


I've been tearing my hair out lately trying to figure out why snd only starts up 
under certain circumstances on my machine, and I've finally got it figured out: 
  if the sound device is in use, snd will just hang.  Here's the traceback 
(which I got from gdb):

Starting program: /usr/local/bin/snd /tmp/blurt.wav
[Thread debugging using libthread_db enabled]
[New Thread -151103264 (LWP 5237)]

Program received signal SIGINT, Interrupt.
[Switching to Thread -151103264 (LWP 5237)]
0x00a267a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) where
#0  0x00a267a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00af6c03 in __open_nocancel () from /lib/tls/libc.so.6
#2  0x03fff5c2 in snd_pcm_hw_open () from /lib/libasound.so.2
#3  0x03fffa60 in _snd_pcm_hw_open () from /lib/libasound.so.2
#4  0x03ff1893 in snd_pcm_close () from /lib/libasound.so.2
#5  0x03ff1e78 in snd_pcm_close () from /lib/libasound.so.2
#6  0x0805d11c in alsa_get_hardware_params (name=0x813a9e0 "hw:0,0",
     stream=SND_PCM_STREAM_CAPTURE, mode=2) at audio.c:3842
#7  0x0805d5ab in alsa_mus_audio_initialize () at audio.c:4051
#8  0x0805ce9e in mus_audio_initialize () at audio.c:3509
#9  0x0806174f in mus_sound_initialize () at sound.c:233
#10 0x080c0045 in main (argc=2, argv=0xfeef2ed4) at snd.c:148

The program accessing the sound hardware at the time is brec_gramo from the 
gramofile package.  System is Fedora Core 3 PIII, snd 7.0.

Is there some way to tell snd to defer initing its sound interface until the 
device is available?  Or to operate without a sound device at all?

Another minor annoyance is that if I start snd with:

            (set! (channel-style ) channels-superimposed)

Then the shading identifying a selected region becomes invisible because it gets 
  XOR-ed between the two channels.  Is there a way to make the selection visible 
when using superimposed channels?

Hoping this is the right forum for questions, let me know where to go if not.
--gvc