[FFmpeg-devel] [PATCH] libavformat/cache: don't treat 0 as EOF

Michael Niedermayer michael at niedermayer.cc
Wed Jun 21 05:06:33 EEST 2017


On Fri, Jun 09, 2017 at 03:39:59PM +0200, Daniel Kučera wrote:
> 2017-06-05 21:18 GMT+02:00 Daniel Kucera <daniel.kucera at gmail.com>:
> > Signed-off-by: Daniel Kucera <daniel.kucera at gmail.com>
> > ---
> >  libavformat/cache.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavformat/cache.c b/libavformat/cache.c
> > index 6aabca2e78..66bbbf54c9 100644
> > --- a/libavformat/cache.c
> > +++ b/libavformat/cache.c
> > @@ -201,7 +201,7 @@ static int cache_read(URLContext *h, unsigned char *buf, int size)
> >      }
> >
> >      r = ffurl_read(c->inner, buf, size);
> > -    if (r == 0 && size>0) {
> > +    if (r == AVERROR_EOF && size>0) {
> >          c->is_true_eof = 1;
> >          av_assert0(c->end >= c->logical_pos);
> >      }
> > @@ -263,7 +263,7 @@ resolve_eof:
> >                  if (whence == SEEK_SET)
> >                      size = FFMIN(sizeof(tmp), pos - c->logical_pos);
> >                  ret = cache_read(h, tmp, size);
> > -                if (ret == 0 && whence == SEEK_END) {
> > +                if (ret == AVERROR_EOF && whence == SEEK_END) {
> >                      av_assert0(c->is_true_eof);
> >                      goto resolve_eof;
> >                  }
> > --
> > 2.11.0
> >
> 
> Reminding for review.

causes infinite loop in fate-seek-cache-pipe

also if 2 patches each require the other they must be in one patch
as neither could be applied first.


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Awnsering whenever a program halts or runs forever is
On a turing machine, in general impossible (turings halting problem).
On any real computer, always possible as a real computer has a finite number
of states N, and will either halt in less than N cycles or never halt.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170621/88aac201/attachment.sig>


More information about the ffmpeg-devel mailing list