[FFmpeg-devel] Need help with threading issue (possible deadlock?)

Donny Yang work at kota.moe
Mon Jul 13 13:15:59 CEST 2015


On 13 July 2015 at 20:50, Ronald S. Bultje <rsbultje at gmail.com> wrote:

> Hi,
>
> On Mon, Jul 13, 2015 at 4:26 AM, Donny Yang <work at kota.moe> wrote:
>
> > Hello
> >
> > I'm trying to fix ffmpeg's APNG decoding for images with the PREVIOUS
> > dispose op while trying to keep it multithreaded, but it seems to
> deadlock
> > whenever I use more that one thread.
>
>
> How do I reproduce? ffmpeg -threads 2 -i test.apng -f null - works for me.
> So does ffplay -threads 2 test.apng
>

It hangs for me when I run: ffmpeg -threads 2 -i test.apng test_%02d.png
Additionally, ffmpeg -threads 2 -i test.apng -f null - also hangs.

Maybe it's due to system differences?
I've also attached some debug output, if it helps

$ uname -a
Linux home 3.19.0-22-generic #22~14.04.1-Ubuntu SMP Wed Jun 17 10:03:13 UTC
2015 x86_64 x86_64 x86_64 GNU/Linux

$ ldd ffmpeg
    linux-vdso.so.1 =>  (0x00007ffd5727a000)
    libXv.so.1 => /usr/lib/x86_64-linux-gnu/libXv.so.1 (0x00007fc939451000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
(0x00007fc93911c000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
(0x00007fc938f0a000)
    libva.so.1 => /usr/lib/x86_64-linux-gnu/libva.so.1 (0x00007fc938cf4000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1
(0x00007fc938ad5000)
    libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0
(0x00007fc9388d2000)
    libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0
(0x00007fc9386cb000)
    libxcb-shape.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shape.so.0
(0x00007fc9384c7000)
    libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2
(0x00007fc9381d7000)
    libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
(0x00007fc937f41000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc937c3b000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fc937a19000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0
(0x00007fc937809000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc9375f0000)
    libvdpau.so.1 => /usr/lib/x86_64-linux-gnu/libvdpau.so.1
(0x00007fc9373ec000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007fc9371ce000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc936e09000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc936c05000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6
(0x00007fc936a01000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
(0x00007fc9367fb000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc9365f3000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fc939656000)
    libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0
(0x00007fc9363ef000)
    libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0
(0x00007fc9361a6000)
    libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0
(0x00007fc935ed9000)
    libpulsecommon-4.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/
libpulsecommon-4.0.so (0x00007fc935c72000)
    libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2
(0x00007fc935a67000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3
(0x00007fc935822000)
    libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2
(0x00007fc935492000)
    libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5
(0x00007fc93525e000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
(0x00007fc935035000)
    libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007fc934e2b000)
    libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1
(0x00007fc934bc3000)
    libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0
(0x00007fc9349bd000)
    libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fc9347a3000)
    libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8
(0x00007fc934572000)
    libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
(0x00007fc9340a3000)
    libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0
(0x00007fc933e76000)
    libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0
(0x00007fc933c6d000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2
(0x00007fc933a52000)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: log
Type: application/octet-stream
Size: 8442 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150713/070d0ed4/attachment.obj>


More information about the ffmpeg-devel mailing list