[Libav-user] How to launch libavcodec from a separate thread?

ggeng george at visby.io
Sun Dec 30 11:06:22 EET 2018


I have a some code and a function decodeVideo() based off of the demo code
for the video decoder using libav. I need to be able to launch this function
from a thread separate from the main one (and have the main thread continue
execution while the video decodes), so I've tried something like

*std::thread t1(&decodeClass, decodeVideo, this)

However, I get the error

*Assertion fctx->async_lock failed at src/libavcodec/pthread_frame.c:155*

I took a look at pthread_frame.c and it looks like it might have something
to do with the update_thread_context method. Is this the right track, and if
so, what do I need to be able to do in order to launch decodeVideo from a
separate thread?

(I have also set ctxt->thread_count = 10 on my 12 core machine)


Sent from: http://libav-users.943685.n4.nabble.com/

More information about the Libav-user mailing list