[FFmpeg-devel] [PATCH 2/5] retry_transfer_wrapper(): check for interrupt before operation

Andrey Utkin andrey.krieger.utkin at gmail.com
Wed Jul 10 23:19:05 CEST 2013


---
 libavformat/avio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/avio.c b/libavformat/avio.c
index be79c1c..cf2c534 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;
 }
-- 
1.8.1.5



More information about the ffmpeg-devel mailing list