[FFmpeg-devel] [PATCH 2/5] lavc: replace and deprecate the lock manager

James Almer jamrial at gmail.com
Sat Dec 23 03:33:00 EET 2017


On 12/22/2017 10:25 PM, Michael Niedermayer wrote:
> On Thu, Dec 21, 2017 at 11:22:21PM +0100, wm4 wrote:
>> Use static mutexes instead of requiring a lock manager. The behavior
>> should be roughly the same before and after this change for API users
>> which did not set the lock manager at all (except that a minor memory
>> leak disappears).
>> ---
>>  doc/APIchanges       |   5 +++
>>  libavcodec/avcodec.h |   8 +++-
>>  libavcodec/utils.c   | 107 +++++----------------------------------------------
>>  libavcodec/version.h |   5 ++-
>>  4 files changed, 26 insertions(+), 99 deletions(-)
> 
> This fails to build with:
> make distclean ; ./configure --disable-pthreads && make -j12 
> 
> libavcodec/utils.c:72:38: error: ‘PTHREAD_MUTEX_INITIALIZER’ undeclared here (not in a function)
>  static pthread_mutex_t codec_mutex = PTHREAD_MUTEX_INITIALIZER;

I guess the simplest way to fix this would be to wrap all this code in
HAVE_THREADS checks (Much like it was pre patch), but ideally the
libavutil/threads.h wrappers would be used instead, after being extended
to also define PTHREAD_MUTEX_INITIALIZER for the no threads case.


More information about the ffmpeg-devel mailing list