From f18cae4d6e9bbf44fd0e64803688a75accefa2b4 Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Thu, 16 Aug 2007 22:12:03 +0000 Subject: Set UDP receive buffer to 64k Originally committed as revision 10129 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/udp.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libavformat/udp.c') diff --git a/libavformat/udp.c b/libavformat/udp.c index edbf543ba9..d0aadcefc8 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; -- cgit v1.2.3