]> git.sesse.net Git - ffmpeg/commitdiff
avformat/libsrt: send non-blocking mode on both the listen and the connect socket
authorMarton Balint <cus@passwd.hu>
Fri, 14 Feb 2020 22:50:34 +0000 (23:50 +0100)
committerMarton Balint <cus@passwd.hu>
Sun, 23 Feb 2020 23:02:46 +0000 (00:02 +0100)
Signed-off-by: Marton Balint <cus@passwd.hu>
libavformat/libsrt.c

index c3c96b35e0e75a0594ed12d61ed8b48f27989a3c..fe3e7d4207785aac98bc6ae4016ef6a918a89f00 100644 (file)
@@ -249,9 +249,6 @@ static int libsrt_listen_connect(int eid, int fd, const struct sockaddr *addr, s
 {
     int ret;
 
-    if (libsrt_socket_nonblock(fd, 1) < 0)
-        av_log(h, AV_LOG_DEBUG, "ff_socket_nonblock failed\n");
-
     ret = srt_connect(fd, addr, addrlen);
     if (ret < 0)
         return libsrt_neterrno(h);
@@ -432,6 +429,9 @@ static int libsrt_setup(URLContext *h, const char *uri, int flags)
     if (s->send_buffer_size > 0) {
         srt_setsockopt(fd, SOL_SOCKET, SRTO_UDP_SNDBUF, &s->send_buffer_size, sizeof (s->send_buffer_size));
     }
+    if (libsrt_socket_nonblock(fd, 1) < 0)
+        av_log(h, AV_LOG_DEBUG, "libsrt_socket_nonblock failed\n");
+
     if (s->mode == SRT_MODE_LISTENER) {
         // multi-client
         if ((ret = libsrt_listen(s->eid, fd, cur_ai->ai_addr, cur_ai->ai_addrlen, h, open_timeout)) < 0)