]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Make sure socket send buffer is large enough for all metadata.
authorPaul Guyot <paulguyot@ieee.org>
Sun, 4 Jun 2017 14:13:31 +0000 (14:13 +0000)
committerPaul Guyot <paulguyot@ieee.org>
Sun, 4 Jun 2017 14:13:31 +0000 (14:13 +0000)
rtsp.c

diff --git a/rtsp.c b/rtsp.c
index 0e9ef9652950edccd41563263fbf36551a3b7bb6..b2c08ca936c73aae8a90c4946b9433460495506b 100644 (file)
--- 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);