2018.03.20. 20:56 keltezéssel, Bodecs Bela írta:
2018.03.20. 20:50 keltezéssel, Nicolas George írta:
Bodecs Bela (2018-03-20):
avio rw_timeout handling in retry_transfer_wrapper() is based on
returning
EAGAIN from protocols' read function. unix_read function returns 0 in
case of no data was read. It happens even if timeout it set for a valid
value and thus rw_timeout handling can not work and wait for ever. This
patch fixes the return value to AVERROR(EAGAIN) when recv()
reads/returns zero value/data and timeout is set.
I am pretty sure this is not correct. Can you tell how you did observe
that?
Regards,
see the retry_transfer_wrapper() in avio.c If
ret = transfer_func(h, buf + len, size - len);
is always zero, so it gets into infinite loop.
transfer_func is unix_read in case of unix protocol.
originally I thought to fix the retry_transfer_wrapper() function to
handle zero as EAGAIN but on devel IRC it was suggsted to fix unix proto.
bb
bb
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel