mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
test/latency: print error message when 2 periods per buffer not supported
Print error message when playback/capture does not support 2 periods per buffer. Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
780f30ab1a
commit
7ed19bbc9a
1 changed files with 15 additions and 3 deletions
|
|
@ -175,6 +175,7 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize)
|
|||
snd_pcm_sw_params_t *p_swparams, *c_swparams;
|
||||
snd_pcm_uframes_t p_size, c_size, p_psize, c_psize;
|
||||
unsigned int p_time, c_time;
|
||||
unsigned int val;
|
||||
|
||||
snd_pcm_hw_params_alloca(&p_params);
|
||||
snd_pcm_hw_params_alloca(&c_params);
|
||||
|
|
@ -226,12 +227,23 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize)
|
|||
goto __again;
|
||||
|
||||
snd_pcm_hw_params_get_buffer_size(p_params, &p_size);
|
||||
if (p_psize * 2 < p_size)
|
||||
if (p_psize * 2 < p_size) {
|
||||
snd_pcm_hw_params_get_periods_min(p_params, &val, NULL);
|
||||
if (val > 2) {
|
||||
printf("playback device does not support 2 periods per buffer\n");
|
||||
exit(0);
|
||||
}
|
||||
goto __again;
|
||||
}
|
||||
snd_pcm_hw_params_get_buffer_size(c_params, &c_size);
|
||||
if (c_psize * 2 < c_size)
|
||||
if (c_psize * 2 < c_size) {
|
||||
snd_pcm_hw_params_get_periods_min(c_params, &val, NULL);
|
||||
if (val > 2 ) {
|
||||
printf("capture device does not support 2 periods per buffer\n");
|
||||
exit(0);
|
||||
}
|
||||
goto __again;
|
||||
|
||||
}
|
||||
if ((err = setparams_set(phandle, p_params, p_swparams, "playback")) < 0) {
|
||||
printf("Unable to set sw parameters for playback stream: %s\n", snd_strerror(err));
|
||||
exit(0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue