From 25a340a640ac412341095e0b04e5993b73c89350 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Fri, 15 May 2020 14:47:15 +0200
Subject: [PATCH] Configurable input stream buffer.

---
 configuration/sample-development.engine.ini | 1 +
 configuration/sample-docker.engine.ini      | 1 +
 configuration/sample-production.engine.ini  | 1 +
 modules/liquidsoap/in_stream.liq            | 8 ++++----
 modules/liquidsoap/settings.liq             | 2 ++
 5 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/configuration/sample-development.engine.ini b/configuration/sample-development.engine.ini
index 84bef0ea..cd4fe862 100644
--- a/configuration/sample-development.engine.ini
+++ b/configuration/sample-development.engine.ini
@@ -73,6 +73,7 @@ preload_offset=60
 # overall playout, it's delays and possible fallbacks
 stream_connect_retry_delay=1
 stream_connect_max_retries=10
+input_stream_buffer=3.0
 
 # sets the time how long we have to fade in and out, when we select another mixer input
 # values are in seconds
diff --git a/configuration/sample-docker.engine.ini b/configuration/sample-docker.engine.ini
index 5c29d321..7df831c2 100644
--- a/configuration/sample-docker.engine.ini
+++ b/configuration/sample-docker.engine.ini
@@ -73,6 +73,7 @@ preload_offset=60
 # overall playout, it's delays and possible fallbacks
 stream_connect_retry_delay=1
 stream_connect_max_retries=10
+input_stream_buffer=3.0
 
 # sets the time how long we have to fade in and out, when we select another mixer input
 # values are in seconds
diff --git a/configuration/sample-production.engine.ini b/configuration/sample-production.engine.ini
index 1fceda63..d2d7be2c 100644
--- a/configuration/sample-production.engine.ini
+++ b/configuration/sample-production.engine.ini
@@ -73,6 +73,7 @@ preload_offset=60
 # overall playout, it's delays and possible fallbacks
 stream_connect_retry_delay=1
 stream_connect_max_retries=10
+input_stream_buffer=3.0
 
 # sets the time how long we have to fade in and out, when we select another mixer input
 # values are in seconds
diff --git a/modules/liquidsoap/in_stream.liq b/modules/liquidsoap/in_stream.liq
index 13a20751..bca49abb 100644
--- a/modules/liquidsoap/in_stream.liq
+++ b/modules/liquidsoap/in_stream.liq
@@ -38,10 +38,10 @@ https_starturl = "https://securestream.o94.at/live.mp3"
 
 
 
-input_http_0 = input.http(id="in_http_0", buffer=3.0, max=60.0, timeout=60.0, autostart=false, http_starturl)
-input_http_1 = input.http(id="in_http_1", buffer=3.0, max=60.0, timeout=60.0, autostart=false, http_starturl)
-input_https_0 = input.https(id="in_https_0", buffer=3.0, max=60.0, timeout=60.0, autostart=false, https_starturl)
-input_https_1 = input.https(id="in_https_1", buffer=3.0, max=60.0, timeout=60.0, autostart=false, https_starturl)
+input_http_0 = input.http(id="in_http_0", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, http_starturl)
+input_http_1 = input.http(id="in_http_1", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, http_starturl)
+input_https_0 = input.https(id="in_https_0", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, https_starturl)
+input_https_1 = input.https(id="in_https_1", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, https_starturl)
 
 # Route input stream to an dummy output to avoid buffer-overrun messages
 # output.dummy(id="SPAM_HTTP_OUTPUT_0", fallible=true, input_http_0)
diff --git a/modules/liquidsoap/settings.liq b/modules/liquidsoap/settings.liq
index 7ea11171..4e284752 100644
--- a/modules/liquidsoap/settings.liq
+++ b/modules/liquidsoap/settings.liq
@@ -59,6 +59,8 @@ a2_out = list.assoc(default="", "output_device_2", ini)
 a3_out = list.assoc(default="", "output_device_3", ini)
 a4_out = list.assoc(default="", "output_device_4", ini)
 
+input_stream_buffer = float_of_string(list.assoc(default="3.0", "input_stream_buffer", ini))
+
 # FALLBACK SETTINGS
 fallback_max_blank = float_of_string(list.assoc(default="", "fallback_max_blank", ini))
 fallback_min_noise = float_of_string(list.assoc(default="", "fallback_min_noise", ini))
-- 
GitLab