diff options
author | Andrey Utkin <andrey.krieger.utkin@gmail.com> | 2013-07-11 00:19:05 +0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-07-12 21:27:27 +0200 |
commit | 34fd21120d8672357293cb83d8c9b770850db516 (patch) | |
tree | 6a582ff27ea0e8bc9f8ff7473662a657ba171db2 /libavformat/avio.c | |
parent | 1e85b5e077e7e6fb9901bfd1a7a4f2594ba5a9a5 (diff) | |
download | ffmpeg-34fd21120d8672357293cb83d8c9b770850db516.tar.gz |
retry_transfer_wrapper(): check for interrupt before operation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avio.c')
-rw-r--r-- | libavformat/avio.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c index 5916e46a2e..2c7a35eced 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -273,6 +273,8 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int len = 0; while (len < size_min) { + if (ff_check_interrupt(&h->interrupt_callback)) + return AVERROR_EXIT; ret = transfer_func(h, buf+len, size-len); if (ret == AVERROR(EINTR)) continue; @@ -296,8 +298,6 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int if (ret) fast_retries = FFMAX(fast_retries, 2); len += ret; - if (len < size && ff_check_interrupt(&h->interrupt_callback)) - return AVERROR_EXIT; } return len; } |