From 05c64c3d64b497ffaba5a78c12e8d0d33320b368 Mon Sep 17 00:00:00 2001 From: Miguel GAIO Date: Thu, 6 Feb 2020 21:09:31 +0100 Subject: pcm: Set SW params.avail_min to period size Using MMAP APIs, this parameter wake up application when 'avail_min' samples are availables. When audio processing expects exactly a full period size samples, the default parameter to 1 burns CPU until the full period available. Fix SW params.avail parameter to period size value. Signed-off-by: Miguel GAIO --- src/pcm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/pcm.c b/src/pcm.c index a32871e..c763d4c 100644 --- a/src/pcm.c +++ b/src/pcm.c @@ -409,7 +409,7 @@ int pcm_set_config(struct pcm *pcm, const struct pcm_config *config) memset(&sparams, 0, sizeof(sparams)); sparams.tstamp_mode = SNDRV_PCM_TSTAMP_ENABLE; sparams.period_step = 1; - sparams.avail_min = 1; + sparams.avail_min = config->period_size; if (!config->start_threshold) { if (pcm->flags & PCM_IN) -- cgit v1.2.3