From 7990beedee02b24850a20de651ecce5a96048ab9 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 6 Sep 2015 19:05:52 +0200 Subject: avformat/http: require seekability only when seeking to position != 0 Signed-off-by: Michael Niedermayer --- libavformat/http.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libavformat/http.c') diff --git a/libavformat/http.c b/libavformat/http.c index 20e942e147..476b53b3f6 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -1427,7 +1427,7 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo ((whence == SEEK_CUR && off == 0) || (whence == SEEK_SET && off == s->off))) return s->off; - else if ((s->filesize == -1 && whence == SEEK_END) || h->is_streamed) + else if ((s->filesize == -1 && whence == SEEK_END)) return AVERROR(ENOSYS); if (whence == SEEK_CUR) @@ -1440,6 +1440,9 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo return AVERROR(EINVAL); s->off = off; + if (s->off && h->is_streamed) + return AVERROR(ENOSYS); + /* we save the old context in case the seek fails */ old_buf_size = s->buf_end - s->buf_ptr; memcpy(old_buf, s->buf_ptr, old_buf_size); -- cgit v1.2.3