avcodec/utils: Force mutex to NULL after destruction.
authorManfred Georg <mgeorg@google.com>
Tue, 30 Sep 2014 22:20:42 +0000 (15:20 -0700)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 30 Sep 2014 22:56:53 +0000 (00:56 +0200)
A badly behaving user provided mutex manager (such as that in OpenCV) may not reset the mutex to NULL on destruction.  This can cause a problem for a later mutex manager (which may assert that the mutex is NULL before creating).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/utils.c

index 9eb2b5b..778bdc6 100644 (file)
@@ -3461,6 +3461,8 @@ int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op))
             return -1;
         if (lockmgr_cb(&avformat_mutex, AV_LOCK_DESTROY))
             return -1;
+        codec_mutex = NULL;
+        avformat_mutex = NULL;
     }
 
     lockmgr_cb = cb;