[FFmpeg-devel] [PATCH] ffprobe: do not exit in case the demuxer returns AVERROR(EAGAIN)

Andreas Cadhalpun andreas.cadhalpun at gmail.com
Thu Nov 19 01:25:53 CET 2015


On 18.11.2015 15:07, Michael Niedermayer wrote:
> On Tue, Nov 17, 2015 at 05:20:08PM +0100, Stefano Sabatini wrote:
>> On date Tuesday 2015-11-17 17:12:46 +0100, wm4 encoded:
>>> On Tue, 17 Nov 2015 17:00:29 +0100
>>> Stefano Sabatini <stefasab at gmail.com> wrote:
>> [...]
>>>> No, just in case ret == AVERROR(EAGAIN), in all other failure cases it
>>>> will exit the loop immediately.
>>>>
>>>> BTW, the same problem affects some API usage examples.
>>>
>>> Yeah, I got that wrong - but even with EAGAIN, is there a guarantee?
>>
>> I don't know. Note that this is also the same strategy applied by
>> ffplay and ffmpeg (in this case it will wait with a usleep). We could
>> abort in case a threshold count value is reached, but that would be
>> probably overkill.
> 
> iam not aware of any inf loops with EAGAIN

Well, I am. I even sent patches fixing that, but you had objections. [1]
So ffprobe can already hang in an infinite EAGAIN loop that happens
within avformat_find_stream_info.

Best regards,
Andreas

1: https://ffmpeg.org/pipermail/ffmpeg-devel/2015-March/170009.html



More information about the ffmpeg-devel mailing list