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

raymond zheng raymondzheng1412 at gmail.com
Wed May 24 05:04:40 EEST 2017


ping Ronald S. Bultje

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

> 2017-05-23 14:01 GMT+08:00 raymond zheng <raymondzheng1412 at gmail.com>:
>
> > You can close http link on your http server,  and check ffurl_read
> result.
> >
> > Besides, this problem was caused by commit:
> > 2a05c8f813de6f2278827734bf8102291e7484aa
> >
> ping Ronald S. Bultje
>
> >
> > 2017-05-23 13:37 GMT+08:00 Steven Liu <lingjiujianke at gmail.com>:
> >
> > > 2017-05-23 10:47 GMT+08:00 raymond zheng <raymondzheng1412 at gmail.com>:
> > >
> > > > 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.
> > > >
> > > Can you reproduce it? and provide me try to reproduce it.
> > > I cannot sure if apply this patch will influence other people require
> > > function, for example: retry or reconnect again.
> > >
> > >
> > > > 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
> > > > >
> > > > _______________________________________________
> > > > 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