[FFmpeg-cvslog] avformat/libsrt: use listen_timeout for listening

Marton Balint git at videolan.org
Mon Feb 24 01:14:58 EET 2020


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Sat Feb 15 00:30:29 2020 +0100| [449e984192d94ac40713e9217871c884657dc79d] | committer: Marton Balint

avformat/libsrt: use listen_timeout for listening

Signed-off-by: Marton Balint <cus at passwd.hu>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=449e984192d94ac40713e9217871c884657dc79d
---

 libavformat/libsrt.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
index fe3e7d4207..f24ce46831 100644
--- a/libavformat/libsrt.c
+++ b/libavformat/libsrt.c
@@ -227,14 +227,9 @@ static int libsrt_listen(int eid, int fd, const struct sockaddr *addr, socklen_t
     if (ret)
         return libsrt_neterrno(h);
 
-    while ((ret = libsrt_network_wait_fd_timeout(h, eid, fd, 1, timeout, &h->interrupt_callback))) {
-        switch (ret) {
-        case AVERROR(ETIMEDOUT):
-            continue;
-        default:
-            return ret;
-        }
-    }
+    ret = libsrt_network_wait_fd_timeout(h, eid, fd, 1, timeout, &h->interrupt_callback);
+    if (ret < 0)
+        return ret;
 
     ret = srt_accept(fd, NULL, NULL);
     if (ret < 0)
@@ -434,7 +429,7 @@ static int libsrt_setup(URLContext *h, const char *uri, int flags)
 
     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)
+        if ((ret = libsrt_listen(s->eid, fd, cur_ai->ai_addr, cur_ai->ai_addrlen, h, s->listen_timeout)) < 0)
             goto fail1;
         fd = ret;
     } else {



More information about the ffmpeg-cvslog mailing list