X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=libavformat%2Fhttp.c;h=606286ad5aa72b71bfc0c70dd3fe3fe6ba351272;hb=3b55484c30ad003d27398dedf7045efdb8eb1253;hp=4b4a22559bd0dca4fb8863463a939bbbaaa9f528;hpb=ad317c94c5fad00f97881263647e316344f0a81e;p=ffmpeg diff --git a/libavformat/http.c b/libavformat/http.c index 4b4a22559bd..606286ad5aa 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -1155,15 +1155,16 @@ static int http_buf_read(URLContext *h, uint8_t *buf, int size) memcpy(buf, s->buf_ptr, len); s->buf_ptr += len; } else { + int64_t target_end = s->end_off ? s->end_off : s->filesize; if ((!s->willclose || s->chunksize < 0) && - s->filesize >= 0 && s->off >= s->filesize) + target_end >= 0 && s->off >= target_end) return AVERROR_EOF; len = ffurl_read(s->hd, buf, size); if (!len && (!s->willclose || s->chunksize < 0) && - s->filesize >= 0 && s->off < s->filesize) { + target_end >= 0 && s->off < target_end) { av_log(h, AV_LOG_ERROR, "Stream ends prematurely at %"PRId64", should be %"PRId64"\n", - s->off, s->filesize + s->off, target_end ); return AVERROR(EIO); }