Module: ffmpeg Branch: master Commit: 688c22e033a48ebf84fb4b52642bbd40f11e9c4e
Author: Baptiste Coudurier <[email protected]> Committer: Ronald S. Bultje <[email protected]> Date: Fri Mar 4 23:43:02 2011 +0100 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 <[email protected]> Signed-off-by: Ronald S. Bultje <[email protected]> --- libavformat/avio.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/avio.c b/libavformat/avio.c index 4ab1b6b..2265549 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -221,8 +221,6 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int len = 0; while (len < size_min) { - if (url_interrupt_cb()) - return AVERROR(EINTR); ret = transfer_func(h, buf+len, size-len); if (ret == AVERROR(EINTR)) continue; @@ -239,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; } _______________________________________________ ffmpeg-commits mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-commits
