Added the surround plugin to allow simple access for 4.0 and 5.1 speakers.

It needs a bit more work to make it functional.
This commit is contained in:
Jaroslav Kysela 2001-04-13 10:54:56 +00:00
parent edaf7fdf2c
commit c4f95f48c3
13 changed files with 549 additions and 2 deletions

View file

@ -986,6 +986,18 @@ int snd_pcm_open(snd_pcm_t **pcmp, const char *name,
}
if (strcmp(name1, "null") == 0)
return snd_pcm_null_open(pcmp, name, stream, mode);
err = sscanf(name1, "surround40:%d,%d", &card, &dev);
if (err == 2)
return snd_pcm_surround_open(pcmp, name, card, dev, SND_PCM_SURROUND_40, stream, mode);
err = sscanf(name1, "surround40:%d", &card);
if (err == 1)
return snd_pcm_surround_open(pcmp, name, card, 0, SND_PCM_SURROUND_40, stream, mode);
err = sscanf(name1, "surround51:%d,%d", &card, &dev);
if (err == 2)
return snd_pcm_surround_open(pcmp, name, card, dev, SND_PCM_SURROUND_51, stream, mode);
err = sscanf(name1, "surround51:%d", &card);
if (err == 1)
return snd_pcm_surround_open(pcmp, name, card, 0, SND_PCM_SURROUND_51, stream, mode);
SNDERR("Unknown PCM %s", name1);
return -ENOENT;
}