diff --git a/libavformat/avio.c b/libavformat/avio.c
index 6ed63f4c85de66d0b5862b8c3b622cb48805dc4c..abc70723ef6de0eab82da99b3fb312120bae36e4 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -272,7 +272,7 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int
                     if (!wait_since)
                         wait_since = av_gettime();
                     else if (av_gettime() > wait_since + h->rw_timeout)
-                        return AVERROR(ETIMEDOUT);
+                        return AVERROR(EIO);
                 }
                 av_usleep(1000);
             }