On Fri, 30 Sep 2016, Nicolas George wrote:

Le nonidi 9 vendémiaire, an CCXXV, Marton Balint a écrit :
Alsa dev and v4l2 seem to work this way regardless if non blocking mode is
set or not,

After a quick glance, no, they do not, at least provided the kernel and
system libraries keep the same promise (which, AFAIK, they do).


Hmm, apparently I missed the flag, you are right, sorry.

              and ffmpeg.c also waits if it encounters AVERROR(EAGAIN) in
av_read_frame.

It should not have to, but for a long time the demuxers were opened in
non-blocking mode, I suppose the code was not updated when it was changed.

                 So AVERROR(EAGAIN) return value seems to be consistent with
existing code, which assumes that if EAGAIN is returned from av_read_frame,
wait a bit.

If what you wrote is the way to move forward, then at least send a
documentation patch, to establish this av_read_frame return value behaviour.

I will consider doing that when time permit. But the behaviour is directly
copied from the Unix behaviour.


Thanks, I will rework the patch to work as the other devices.

Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to