[SCM] libav/experimental: Set UDP receive buffer to 64k

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:05:36 UTC 2013


The following commit has been merged in the experimental branch:
commit f18cae4d6e9bbf44fd0e64803688a75accefa2b4
Author: Ramiro Polla <ramiro.polla at gmail.com>
Date:   Thu Aug 16 22:12:03 2007 +0000

    Set UDP receive buffer to 64k
    
    Originally committed as revision 10129 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/udp.c b/libavformat/udp.c
index edbf543..d0aadce 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -43,6 +43,7 @@ typedef struct {
 } UDPContext;
 
 #define UDP_TX_BUF_SIZE 32768
+#define UDP_MAX_PKT_SIZE 65536
 
 #ifdef CONFIG_IPV6
 
@@ -396,6 +397,11 @@ static int udp_open(URLContext *h, const char *uri, int flags)
             perror("setsockopt sndbuf");
             goto fail;
         }
+    } else {
+        /* set udp recv buffer size to the largest possible udp packet size to
+         * avoid losing data on OSes that set this too low by default. */
+        tmp = UDP_MAX_PKT_SIZE;
+        setsockopt(udp_fd, SOL_SOCKET, SO_RCVBUF, &tmp, sizeof(tmp));
     }
 
     s->udp_fd = udp_fd;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list