[pulseaudio-discuss] [PATCH 08/21 v2] sample.c: Allow module-loopback to exceed PA_RATE_MAX

Georg Chini georg at chini.tk
Sun Feb 19 16:15:16 UTC 2017


The rate set by module loopback may exceed PA_RATE_MAX by 1%, therefore
allow rates higher than PA_RATE_MAX in pa_sample_rate_valid().

---
 src/pulse/sample.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/pulse/sample.c b/src/pulse/sample.c
index cb04254..ff77985 100644
--- a/src/pulse/sample.c
+++ b/src/pulse/sample.c
@@ -105,7 +105,10 @@ int pa_sample_format_valid(unsigned format) {
 }
 
 int pa_sample_rate_valid(uint32_t rate) {
-    return rate > 0 && rate <= PA_RATE_MAX;
+    /* The extra 1% is due to module-loopback: it temporarily sets
+     * a higher-than-nominal rate to get rid of excessive buffer
+     * latency */
+    return rate > 0 && rate <= PA_RATE_MAX * 101 / 100;
 }
 
 int pa_channels_valid(uint8_t channels) {
-- 
2.10.1



More information about the pulseaudio-discuss mailing list