[FFmpeg-devel] [PATCH] libavformat: not treat 0 as EOF
James Almer
jamrial at gmail.com
Tue Oct 17 05:48:43 EEST 2017
On 10/16/2017 9:13 PM, Michael Niedermayer wrote:
> On Mon, Oct 16, 2017 at 11:14:49AM +0200, Daniel Kucera wrote:
>> transfer_func variable passed to retry_transfer_wrapper
>> are h->prot->url_read and h->prot->url_write functions.
>> These need to return EOF or other error properly.
>> In case of returning >= 0, url_read/url_write is retried
>> until error is returned.
>>
>> Signed-off-by: Daniel Kucera <daniel.kucera at gmail.com>
>> ---
>> libavformat/avio.c | 6 ++++--
>> libavformat/aviobuf.c | 20 ++++++++++++--------
>> libavformat/cache.c | 4 ++--
>> libavformat/concat.c | 9 +++++----
>> 4 files changed, 23 insertions(+), 16 deletions(-)
>
> this seems to break http
>
> ./ffmpeg -i matrixbench_mpeg2.mpg -listen 1 -f nut http://127.0.0.1:8889 </dev/null & sleep 1 ; ./ffmpeg -i http://127.0.0.1:8889 -c copy -y out-http.nut
>
> above never exits
http.c has a call to ffurl_read() where the check for the return value
should apparently be adapted. In fact, several other files call that
function as well.
More information about the ffmpeg-devel
mailing list