• Sergey's avatar
    ffmpeg: fix deadlock regression in threading error handing · 6d2df3c0
    Sergey authored
    Commit fc9c857c introduced deadlock regression when processing too many inputs:
      ffmpeg $(seq -f " -f lavfi -i aevalsrc=0:d=%.0f" 70) -vf concat=n=70:v=0:a=1 -f null -
    Happens for different number of inputs, depending on available memory size,
    overcommit settings, ulimits, etc. Easily noticeable for 32-bit builds,
    that exhaust address space allocating 8-10 MB stack for each thread.
    Earlier ffmpeg versions exited with unhelpful "Conversion failed!" message.
    
    This patch fixes both problems: it frees the queue to prevent deadlock
    and adds a meaningful error message if pthread_create() fails.
    Reviewed-by: 's avatarNicolas George <george@nsup.org>
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    6d2df3c0
ffmpeg.c 136 KB