alsa/alsa-lib-avail_min-fix.diff

27 lines
852 B
Diff

# HG changeset patch
# User tiwai
# Date 1195568950 -3600
# Node ID 39d34d6a4587ffa6462e42308fb3519f55a2781c
# Parent b1d1733e52f8baf293ffa2af1c2b9cf5212006ec
pcm - Limit the avail_min minimum size
Fix avail_min if it's less than period_size. The too small avail_min
is simply useless and the cause of CPU hog with rate plugin.
diff -r b1d1733e52f8 -r 39d34d6a4587 src/pcm/pcm.c
--- a/src/pcm/pcm.c Mon Nov 19 08:07:19 2007 +0100
+++ b/src/pcm/pcm.c Tue Nov 20 15:29:10 2007 +0100
@@ -5577,6 +5577,12 @@ int snd_pcm_sw_params_set_avail_min(snd_
#endif
{
assert(pcm && params);
+ /* Fix avail_min if it's below period size. The period_size
+ * defines the minimal wake-up timing accuracy, so it doesn't
+ * make sense to set below that.
+ */
+ if (val < pcm->period_size)
+ val = pcm->period_size;
params->avail_min = val;
return 0;
}