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

Reply via email to