if (setsockopt(udp_fd, SOL_SOCKET, SO_RCVBUF, &tmp, sizeof(tmp)) < 0) {
av_log(NULL, AV_LOG_WARNING, "setsockopt(SO_RECVBUF): %s\n", strerror(errno));
}
+ /* make the socket non-blocking */
+ ff_socket_nonblock(udp_fd, 1);
}
s->udp_fd = udp_fd;
return AVERROR(EIO);
if (!(ret > 0 && FD_ISSET(s->udp_fd, &rfds)))
continue;
- len = recv(s->udp_fd, buf, size, MSG_DONTWAIT);
+ len = recv(s->udp_fd, buf, size, 0);
if (len < 0) {
if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
ff_neterrno() != FF_NETERROR(EINTR))