[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