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

Georg Chini georg at chini.tk
Tue Apr 11 20:43:33 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 cb042541..ff77985c 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.11.0



More information about the pulseaudio-discuss mailing list