[Libav-user] Returning EAGAIN in AVIOContext::read_frame()

Haakon Riiser haakon.riiser at fys.uio.no
Thu Aug 4 17:44:19 CEST 2011


 I figured out that the replacement for using URLProtocol directly is 
 AVIOContext in recent FFmpeg versions. Now I'm wondering if it's 
 possible to return EAGAIN in AVIOContext::read_frame() so that this is 
 passed on to av_read_frame() without losing any data.

 It looks like any non-positive return value from read_packet causes the 
 eof_reached flag to be set in AVIOContext. I tried clearing it and 
 continuing, but I lost the frame in which the EAGAIN occured. Is there 
 support for EAGAIN in read_frame()? I assumed one could simply return 
 AVERROR(EAGAIN) to signal it, but that's clearly not enough. :(

 Thanks in advance for any help.

 -hr


More information about the Libav-user mailing list