diff options
author | Raymond Yau <superquad.vortex2@gmail.com> | 2011-04-20 16:18:50 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-04-20 14:11:59 +0200 |
commit | 7ed19bbc9a0150f1b3973de46aa4dfac6b9ed211 (patch) | |
tree | e096978abf8ec81d7903f267b6ff34333a87ef68 | |
parent | 780f30ab1a104e4f2a72f4c7cc2ed3ed0e3725e8 (diff) | |
download | alsa-lib-7ed19bbc9a0150f1b3973de46aa4dfac6b9ed211.tar.gz |
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>
-rw-r--r-- | test/latency.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/test/latency.c b/test/latency.c index 03d65a23..e9bc6d84 100644 --- a/test/latency.c +++ b/test/latency.c @@ -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); |