when there is error in http gizp data, return 0 will cause endless and meanningless loop in retry_transfer_wrapper function. --- libavformat/http.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavformat/http.c b/libavformat/http.c index ed20359552..6e712383c1 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -1657,10 +1657,11 @@ static int http_buf_read_compressed(URLContext *h, uint8_t *buf, int size) s->inflate_stream.next_out = buf; ret = inflate(&s->inflate_stream, Z_SYNC_FLUSH); - if (ret != Z_OK && ret != Z_STREAM_END) - av_log(h, AV_LOG_WARNING, "inflate return value: %d, %s\n", + if (ret != Z_OK && ret != Z_STREAM_END) { + av_log(h, AV_LOG_WARNING, "inflate return value: %d, %s\n", ret, s->inflate_stream.msg); - + return AVERROR(EIO); + } return size - s->inflate_stream.avail_out; } #endif /* CONFIG_ZLIB */ -- 2.39.3 (Apple Git-145) _______________________________________________ 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".