hello everybody, are the two ffmpeg libraries libavformat and libavcodev thread safe? I tried to start coding and was wondering that calls to av_find_stream_info() broke the threaded application. is there a way to savely use ffmepg in threaded apps? regards, heri -- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
On Thu, May 19, 2005 at 09:07:45PM +0200, H. Steuer wrote:
hello everybody,
are the two ffmpeg libraries libavformat and libavcodev thread safe? I tried to start coding and was wondering that calls to av_find_stream_info() broke the threaded application. is there a way to savely use ffmepg in threaded apps?
Yes it's thread safe, as long as you properly lock around calling the main init functions and only use each codec context in a single thread (or ensure that proper locking is done if using it in multiple threads).
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Please fix your mailer not to send this crap to public lists. It's offensive and stupid and irrelevant since the "intended recipient" is a matter of public archive. Rich
Hi Rich, thanks for your answer. what exactly do you mean "lock around the main init functions"? i create a new thread and use ffmpeg function inside of this thread only. so there are only local variables to that function. the only function thats called outside that thread is av_register_all(). what exactly do i need to put mutexes or something around? or do you have any hints where i can do some reading about it? thanks alot for your help, heri On Thu, 19 May 2005 15:18:28 -0400 Rich Felker <dalias at aerifal.cx> wrote:
On Thu, May 19, 2005 at 09:07:45PM +0200, H. Steuer wrote:
hello everybody,
are the two ffmpeg libraries libavformat and libavcodev thread safe? I tried to start coding and was wondering that calls to av_find_stream_info() broke the threaded application. is there a way to savely use ffmepg in threaded apps?
Yes it's thread safe, as long as you properly lock around calling the main init functions and only use each codec context in a single thread (or ensure that proper locking is done if using it in multiple threads).
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Please fix your mailer not to send this crap to public lists. It's offensive and stupid and irrelevant since the "intended recipient" is a matter of public archive.
sorry for that!
Rich
_______________________________________________ ffmpeg-user mailing list ffmpeg-user at mplayerhq.hu http://mplayerhq.hu/mailman/listinfo/ffmpeg-user
On Fri, May 20, 2005 at 12:24:46AM +0200, H. Steuer wrote:
Hi Rich,
thanks for your answer. what exactly do you mean "lock around the main init functions"? i create a new thread and use ffmpeg function inside of this thread only. so there are only local variables to that function. the only function thats called outside that thread is av_register_all(). what exactly do i need to put mutexes or something around? or do you have any hints where i can do some reading about it?
yes, no other calls to libavcodec may be made during av_register_all, and possibly also during codec context init functions. i forget the exact rules. maybe it's in the documentation? rich p.s. please don't top-post and pleace wrap your messages at <80 characters. otherwise it's very hard to read your emails.
participants (2)
-
dalias@aerifal.cx -
steuer@unixsystems.de