[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