mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-04-18 16:40:23 +00:00
avformat/http: fix noop seek check
This fails to consider the case of whence == SEEK_END and the resulting offset happening to exactly match the current position. Reorder the check to compute the target position first, then compare.
This commit is contained in:
parent
c352a9ab02
commit
5f95a1e714
1 changed files with 2 additions and 4 deletions
|
|
@ -2008,10 +2008,6 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo
|
|||
|
||||
if (whence == AVSEEK_SIZE)
|
||||
return s->filesize;
|
||||
else if (!force_reconnect &&
|
||||
((whence == SEEK_CUR && off == 0) ||
|
||||
(whence == SEEK_SET && off == s->off)))
|
||||
return s->off;
|
||||
else if ((s->filesize == UINT64_MAX && whence == SEEK_END))
|
||||
return AVERROR(ENOSYS);
|
||||
|
||||
|
|
@ -2023,6 +2019,8 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo
|
|||
return AVERROR(EINVAL);
|
||||
if (off < 0)
|
||||
return AVERROR(EINVAL);
|
||||
if (!force_reconnect && off == s->off)
|
||||
return s->off;
|
||||
s->off = off;
|
||||
|
||||
if (s->off && h->is_streamed)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue