changed detection of "alsa:" and "wav:" prefix with detection of

"hw:" / "plughw:" prefix, ".wav" suffix and "default" alsa device
master
Ahmet Inan 2011-09-08 10:59:00 +02:00
rodzic 15b01cf36c
commit 1f1e44fbcc
4 zmienionych plików z 12 dodań i 10 usunięć

2
.gitignore vendored
Wyświetl plik

@ -11,3 +11,5 @@ decode
48000.wav
8000.ppm
8000.wav
????-??-??_??:??:??.ppm
.*.swp

Wyświetl plik

@ -11,11 +11,11 @@ test: all
./encode smpte.ppm 40000.wav 40000
./encode smpte.ppm 44100.wav 44100
./encode smpte.ppm 48000.wav 48000
./decode wav:8000.wav 8000.ppm
./decode wav:11025.wav 11025.ppm
./decode wav:40000.wav 40000.ppm
./decode wav:44100.wav 44100.ppm
./decode wav:48000.wav 48000.ppm
./decode 8000.wav 8000.ppm
./decode 11025.wav 11025.ppm
./decode 40000.wav 40000.ppm
./decode 44100.wav 44100.ppm
./decode 48000.wav 48000.ppm
clean:
rm -f encode decode *.o {8000,11025,40000,44100,48000}.{ppm,wav}

Wyświetl plik

@ -245,7 +245,7 @@ char *string_time(char *fmt)
int main(int argc, char **argv)
{
pcm_t *pcm;
char *name = "alsa:default";
char *name = "default";
if (argc != 1)
name = argv[1];

8
pcm.c
Wyświetl plik

@ -34,10 +34,10 @@ int read_pcm(pcm_t *pcm, short *buff, int frames)
int open_pcm(pcm_t **p, char *name)
{
if (strstr(name, "alsa:"))
return open_alsa(p, name + strlen("alsa:"));
if (strstr(name, "wav:"))
return open_wav(p, name + strlen("wav:"));
if (strstr(name, "plughw:") == name || strstr(name, "hw:") == name || strstr(name, "default") == name)
return open_alsa(p, name);
if (strstr(name, ".wav") == (name + (strlen(name) - strlen(".wav"))))
return open_wav(p, name);
return 0;
}