2018.03.20. 20:58 keltezéssel, Nicolas George írta:
Bodecs Bela (2018-03-20):
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.
Let me be more accurate: I am pretty sure you analysis is wrong as
recv() does not return 0 on timeout. Please tell how you came to that
conclusion.
I am sorry, but you misunderstood me. When recv() return 0 it means that
no data was read.
this 0 value is returned to retry_transfer_wrapper(), then it call the
unix_read again.
it is an infinite wait if data was never read again. But if user sets a
timeout value,
it should quit the waiting loop after the preset time period elapsed.
this wait time checking is handled in retry_transfer_wrapper() but only
if unix_read return EAGAIN
bb
Regards,
_______________________________________________
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