This is important, for example, for connection timed out events,
when used ovr a network, returning AVERROR(ETIMEDOUT).

Signed-off-by: Derek Buitenhuis <derek.buitenh...@gmail.com>
---
 libavformat/mov.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index aef5517c2c..bd78e68c16 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -7947,8 +7947,10 @@ static int mov_read_packet(AVFormatContext *s, AVPacket 
*pkt)
                    sc->ffindex, sample->pos);
             if (should_retry(sc->pb, ret64)) {
                 mov_current_sample_dec(sc);
-            }
-            return AVERROR_INVALIDDATA;
+            } else if (ret64 < 0)
+                return (int)ret64;
+            else
+                return AVERROR_INVALIDDATA;
         }
 
         if (st->discard == AVDISCARD_NONKEY && !(sample->flags & 
AVINDEX_KEYFRAME)) {
-- 
2.31.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to