mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-02 21:01:56 +00:00
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: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
3ffe3b1db0
commit
f8990c5f41
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user