Read data from the protocol.
If data is immediately available (even less than size), EOF is
reached or an error occurs (including EINTR), return immediately.
Otherwise:
In non-blocking mode, return AVERROR(EAGAIN) immediately.
In blocking mode, wait for data/EOF/error with a short timeout (0.1s),
and return AVERROR(EAGAIN) on timeout.
Checking interrupt_callback, looping on EINTR and EAGAIN and until
enough data has been read is left to the calling function; see
retry_transfer_wrapper in avio.c.
Read data from the protocol. If data is immediately available (even less than size), EOF is reached or an error occurs (including EINTR), return immediately. Otherwise: In non-blocking mode, return AVERROR(EAGAIN) immediately. In blocking mode, wait for data/EOF/error with a short timeout (0.1s), and return AVERROR(EAGAIN) on timeout. Checking interrupt_callback, looping on EINTR and EAGAIN and until enough data has been read is left to the calling function; see retry_transfer_wrapper in avio.c.