---
libavformat/icertpdec.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavformat/icertpdec.c b/libavformat/icertpdec.c
index bc0849d..07be0a7 100644
--- a/libavformat/icertpdec.c
+++ b/libavformat/icertpdec.c
@@ -80,10 +80,14 @@ static int io_read(void *ptr, uint8_t *buf, int len)
ICEContext *c = ptr;
struct sockaddr_storage addr;
socklen_t addrlen = sizeof(addr);
+ struct pollfd pfd = { c->stun.fd, POLLIN, 0 };
int n;
start:
if (ff_check_interrupt(c->interrupt_callback))
return AVERROR_EXIT;
+ n = poll(&pfd, 1, 50);
+ if (n <= 0)
+ goto start;
n = recvfrom(c->stun.fd, buf, len, 0, (struct sockaddr*) &addr, &addrlen);
if (n <= 0)
return n;
--
1.7.9.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel