mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-08 23:58:51 +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)
|
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)
|
if (ret < 0)
|
||||||
return ret;
|
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)
|
static int libsrt_network_wait_fd(URLContext *h, int eid, int fd, int write)
|
||||||
|
Loading…
Reference in New Issue
Block a user