From 07d297aaca18e527c24fb73a7dcb7e0d70b5e229 Mon Sep 17 00:00:00 2001 From: whatdoineed2do/Ray Date: Mon, 26 Aug 2019 20:15:39 +0100 Subject: [PATCH] [streaming] increase icy-metaint interval to 16k bytes --- src/httpd_streaming.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/httpd_streaming.c b/src/httpd_streaming.c index cd036041..d10cbf94 100644 --- a/src/httpd_streaming.c +++ b/src/httpd_streaming.c @@ -88,7 +88,13 @@ static int streaming_meta[2]; #define STREAMING_ICY_METALEN_MAX 4080 // 255*16 incl header/footer (16bytes) #define STREAMING_ICY_METATITLELEN_MAX 4064 // STREAMING_ICY_METALEN_MAX -16 (not incl header/footer) -static const short STREAMING_ICY_METAINT = 8192; + +/* As streaming quality goes up, we send more data to the remote client. With a + * smaller ICY_METAINT value we have to splice metadata more frequently - on + * some devices with small input buffers, a higher quality stream and low + * ICY_METAINT can lead to stuttering as observed on a Roku Soundbridge + */ +static const short STREAMING_ICY_METAINT = 16384; static unsigned streaming_icy_clients; static char *streaming_icy_title;