From 93e7b67301f9c5af3c5f92287c237a50dd607b95 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Wed, 22 Aug 2012 16:18:14 -0700 Subject: pcm: fix default capture start threshold Default start threshold was set to the same value (half of the buffer size) for playback and capture in pcm_open(). The normal default value for capture should be 1 frame. --- pcm.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pcm.c b/pcm.c index af175f2..a59301e 100644 --- a/pcm.c +++ b/pcm.c @@ -538,10 +538,13 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, sparams.period_step = 1; sparams.avail_min = 1; - if (!config->start_threshold) - pcm->config.start_threshold = sparams.start_threshold = - config->period_count * config->period_size / 2; - else + if (!config->start_threshold) { + if (pcm->flags & PCM_IN) + pcm->config.start_threshold = sparams.start_threshold = 1; + else + pcm->config.start_threshold = sparams.start_threshold = + config->period_count * config->period_size / 2; + } else sparams.start_threshold = config->start_threshold; /* pick a high stop threshold - todo: does this need further tuning */ -- cgit v1.2.3