set min rate to 8000 to work around pulseaudio ignorance

pulseaudio ignores our request no to do any rate conversion.
so we need to set the min rate to 8000hz so we wont get 1hz :S
master
Ahmet Inan 2014-08-26 16:17:53 +02:00
rodzic 93c8bad3c6
commit d1ed93501d
1 zmienionych plików z 9 dodań i 0 usunięć

9
alsa.c
Wyświetl plik

@ -125,6 +125,15 @@ int open_alsa_read(struct pcm **p, char *name)
return 0;
}
unsigned rate_min = 8000;
int dir_min = 1;
if (snd_pcm_hw_params_set_rate_min(pcm, params, &rate_min, &dir_min) < 0 || rate_min < 8000) {
fprintf(stderr, "Error setting min rate.\n");
snd_pcm_close(alsa->pcm);
free(alsa);
return 0;
}
if (snd_pcm_hw_params(pcm, params) < 0) {
fprintf(stderr, "Error setting HW params.\n");
snd_pcm_close(alsa->pcm);