[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