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.
Change-Id: I05afd51ada3d915a6dde7c97846e1693f7c575f4
diff --git a/pcm.c b/pcm.c
index 4e9133a..284a7ac 100644
--- a/pcm.c
+++ b/pcm.c
@@ -547,10 +547,13 @@
sparams.tstamp_mode = SNDRV_PCM_TSTAMP_ENABLE;
sparams.period_step = 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 */