diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2011-03-04 23:43:02 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-03-08 02:09:44 +0100 |
commit | aa612fbb99f6246913a789afde5a26f70c5a9159 (patch) | |
tree | 27d2a368e67cd0a7b5b0d5f4e1d26aa45d2ee8ce | |
parent | a2fc93f7005ee97cf17a07caac0f07f0537e2f59 (diff) | |
download | ffmpeg-aa612fbb99f6246913a789afde5a26f70c5a9159.tar.gz |
In retry_transfer_wrapper, do not check url_interrupt_cb, causes problems
when writing and pressing q during encoding. Instead, check url_interrupt_cb
at the end.
Note that when a protocol is interrupted by url_interrupt_cb, some data may
be silently discarded: the protocol context is not suitable for anything
anymore.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 688c22e033a48ebf84fb4b52642bbd40f11e9c4e)
-rw-r--r-- | libavformat/avio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c index 49031a548c..2265549266 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -237,6 +237,8 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int if (ret) fast_retries = FFMAX(fast_retries, 2); len += ret; + if (url_interrupt_cb()) + return AVERROR(EINTR); } return len; } |