From: Paul Guyot Date: Sun, 4 Jun 2017 14:13:31 +0000 (+0000) Subject: Make sure socket send buffer is large enough for all metadata. X-Git-Tag: 3.1~10^2~55^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0748d36cd9c7f8032958b1bfbbec7e37662c6f6;p=thirdparty%2Fshairport-sync.git Make sure socket send buffer is large enough for all metadata. --- diff --git a/rtsp.c b/rtsp.c index 0e9ef965..b2c08ca9 100644 --- a/rtsp.c +++ b/rtsp.c @@ -69,6 +69,8 @@ #define INETx_ADDRSTRLEN INET_ADDRSTRLEN #endif +#define METADATA_SNDBUF (4 * 1024 * 1024) + enum rtsp_read_request_response { rtsp_read_request_response_ok, rtsp_read_request_response_shutdown_requested, @@ -1019,6 +1021,8 @@ void metadata_create(void) { if (metadata_sock < 0) { debug(1, "Could not open metadata socket"); } else { + int buffer_size = METADATA_SNDBUF; + setsockopt(metadata_sock, SOL_SOCKET, SO_SNDBUF, &buffer_size, sizeof(buffer_size)); bzero((char *)&metadata_sockaddr, sizeof(metadata_sockaddr)); metadata_sockaddr.sin_family = AF_INET; metadata_sockaddr.sin_addr.s_addr = inet_addr(config.metadata_sockaddr);