On Mon, 2009-11-02 at 14:08 +0100, Takashi Iwai wrote:
- Remove erroneous snd_config_delete calls that cause later calls to
snd_pcm_open to fail.
This is bad indeed. Could you make a small test case to reproduce the problem more easily?
Sure.
------
#include <stdio.h> #include <alsa/asoundlib.h>
void try_open (const char * pcm) { snd_pcm_t * handle; int error;
error = snd_pcm_open (& handle, pcm, SND_PCM_STREAM_PLAYBACK, 0);
if (error < 0) printf ("Failed to open %s: %s.\n", pcm, snd_strerror (error)); else { printf ("Opened %s.\n", pcm); snd_pcm_close (handle); } }
int main (void) { void * * hints;
try_open ("default"); try_open ("front"); try_open ("pulse"); try_open ("default"); try_open ("front"); try_open ("pulse");
printf ("Calling snd_device_name_hint().\n"); snd_device_name_hint (-1, "pcm", & hints); snd_device_name_free_hint (hints);
try_open ("default"); try_open ("front"); try_open ("pulse"); try_open ("default"); try_open ("front"); try_open ("pulse");
return 0; }
------
$ ./pcmtest Opened default. Opened front. Opened pulse. Opened default. Opened front. Opened pulse. Calling snd_device_name_hint(). Opened default. ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front Failed to open front: No such file or directory. ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM pulse Failed to open pulse: No such file or directory. Opened default. ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front Failed to open front: No such file or directory. ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM pulse Failed to open pulse: No such file or directory.