[FFmpeg-devel] [PATCH]libavformat/http: fix http error eof

raymond zheng raymondzheng1412 at gmail.com
Tue May 23 05:47:53 EEST 2017


1. An exception occurred in the  CDN edge server, that will lead to close
the http connection.

2. Because http is disconnected, so ffurl_read will return 0

3. Avformat will consider I/O is eof

4. Right now http is actually disconnect abnormally, it should return to
ERROR, rather than return to EOF.

2017-05-22 23:05 GMT+08:00 Steven Liu <lingjiujianke at gmail.com>:

> 2017-05-22 22:36 GMT+08:00 raymond zheng <raymondzheng1412 at gmail.com>:
>
> > I don't think it need a timeout event to disconnect the link, because
> > when ffurl_read
> > return to 0, it means the link disconnect. If s->off < target_end, it
> > means AVERROR,
> > otherwise, it's normal eof.
> > I don't use chunked in HTTP, so s->chunksize should be initial value, and
> > shouldn't be changed or even decreased.
> >
> > What will happen if not apply this patch? can you reproduce the bug step
> by step.
>
> > 2017-05-22 18:51 GMT+08:00 Steven Liu <lingjiujianke at gmail.com>:
> >
> > > 2017-05-18 15:19 GMT+08:00 raymond zheng <raymondzheng1412 at gmail.com>:
> > >
> > > > Hi:
> > > >     I find an issue about http. I don't use chunked, so s->chunksize
> > will
> > > > be set as UINT64_MAX when http open, but because of "if
> (s->chunksize >
> > > 0)
> > > > s->chunksize -= len;" then chunksize will not be UINT64_MAX.
> > > >
> > > >     If ffurl_read return to 0, s->off < target_end, http_buf_read
> will
> > > > return to 0, then this will lead to eof, so this is incorrect, and
> > > > http_buf_read should return to AVERROR(EIO).
> > > >
> > >
> > > if connect to CDN http edge server, this maybe incorrect.  or need a
> > > timeout  event to disconnect the link.
> > >
> > > >
> > > > _______________________________________________
> > > > ffmpeg-devel mailing list
> > > > ffmpeg-devel at ffmpeg.org
> > > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > > >
> > > >
> > > _______________________________________________
> > > ffmpeg-devel mailing list
> > > ffmpeg-devel at ffmpeg.org
> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list