X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Ftcp.c;h=5f00ba7588def93e93da549705e6eec63bf2b59b;hb=25d9cb462132e71143a2b87e80c2b02a0441fcf3;hp=25abafc5eb8577e601c91b005abae34e57a37dc2;hpb=cca4fd477851c3ab3b4ee7da525d5eb81bbe8de1;p=ffmpeg diff --git a/libavformat/tcp.c b/libavformat/tcp.c index 25abafc5eb8..5f00ba7588d 100644 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -140,6 +140,15 @@ static int tcp_open(URLContext *h, const char *uri, int flags) goto fail; } + /* Set the socket's send or receive buffer sizes, if specified. + If unspecified or setting fails, system default is used. */ + if (s->recv_buffer_size > 0) { + setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &s->recv_buffer_size, sizeof (s->recv_buffer_size)); + } + if (s->send_buffer_size > 0) { + setsockopt (fd, SOL_SOCKET, SO_SNDBUF, &s->send_buffer_size, sizeof (s->send_buffer_size)); + } + if (s->listen == 2) { // multi-client if ((ret = ff_listen(fd, cur_ai->ai_addr, cur_ai->ai_addrlen)) < 0) @@ -164,14 +173,6 @@ static int tcp_open(URLContext *h, const char *uri, int flags) h->is_streamed = 1; s->fd = fd; - /* Set the socket's send or receive buffer sizes, if specified. - If unspecified or setting fails, system default is used. */ - if (s->recv_buffer_size > 0) { - setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &s->recv_buffer_size, sizeof (s->recv_buffer_size)); - } - if (s->send_buffer_size > 0) { - setsockopt (fd, SOL_SOCKET, SO_SNDBUF, &s->send_buffer_size, sizeof (s->send_buffer_size)); - } freeaddrinfo(ai); return 0;