On 11/09/2011 10:06 AM, Karoly Horvath wrote: > Hi guys, > > I have multiple threads which do simultaneous demultiplexing for different > streams. > > Most of the times it works fine, but sometimes a see these messages at > startup: > [NULL @ 0x7fffa4006120] insufficient thread locking around > avcodec_open/close() > Also it sometimes fails to do avcodec_open (it's the same stream, nothing > changed..) > > I have a global mutex for the threads so at any point only one thread can > make those API calls. > > Any idea what the problem is? > >
Contrary to what the error message says avcodec_open/close are not the only Libav API calls that need lock protection. So if you are making other calls into Libav that are not protected by your global mutex, this could cause the issue. As the other poster said, using av_lockmgr_register() will allow Libav to create any locks it needs and it will do all necessary locking for itself. So you should use this anyway. -- John GnuPG fingerprint: D0EC B3DB C372 D1F1 0B01 83F0 49F1 D7B2 60D4 D0F7
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
