From: Michael Niedermayer Date: Sun, 16 Oct 2011 14:54:27 +0000 (+0200) Subject: cache: Fallback to using the cache size for AVSEEK_SIZE if the underlaying protocol... X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=02b651a7e39844edd573a9d057ec87a0160bef8d;hp=e9f62a8b2bb7f675d21dace520e62c55bc8996a9;p=ffmpeg cache: Fallback to using the cache size for AVSEEK_SIZE if the underlaying protocol has nothing better. Signed-off-by: Michael Niedermayer --- diff --git a/libavformat/cache.c b/libavformat/cache.c index bbc85925c22..c08250b1871 100644 --- a/libavformat/cache.c +++ b/libavformat/cache.c @@ -95,7 +95,14 @@ static int64_t cache_seek(URLContext *h, int64_t pos, int whence) Context *c= h->priv_data; if (whence == AVSEEK_SIZE) { - return ffurl_seek(c->inner, pos, whence); + pos= ffurl_seek(c->inner, pos, whence); + if(pos <= 0){ + pos= ffurl_seek(c->inner, -1, SEEK_END); + ffurl_seek(c->inner, c->end, SEEK_SET); + if(pos <= 0) + return c->end; + } + return pos; } pos= lseek(c->fd, pos, whence);