Commit f8990c5f authored by Anthony Delannoy's avatar Anthony Delannoy Committed by Marton Balint

avformat/libsrt: fix enabling nonblocking mode

As written in https://github.com/Haivision/srt/blob/v1.4.1/docs/API.md,
the nonblock mode is activated if SRTO_SNDSYN and SRTO_RCVSYN, for
sending and receiving respectively, are set to 0.
Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
parent 3ffe3b1d
......@@ -154,10 +154,12 @@ static int libsrt_neterrno(URLContext *h)
static int libsrt_socket_nonblock(int socket, int enable)
{
int ret = srt_setsockopt(socket, 0, SRTO_SNDSYN, &enable, sizeof(enable));
int ret, blocking = enable ? 0 : 1;
/* Setting SRTO_{SND,RCV}SYN options to 1 enable blocking mode, setting them to 0 enable non-blocking mode. */
ret = srt_setsockopt(socket, 0, SRTO_SNDSYN, &blocking, sizeof(blocking));
if (ret < 0)
return ret;
return srt_setsockopt(socket, 0, SRTO_RCVSYN, &enable, sizeof(enable));
return srt_setsockopt(socket, 0, SRTO_RCVSYN, &blocking, sizeof(blocking));
}
static int libsrt_network_wait_fd(URLContext *h, int eid, int fd, int write)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment