On 2014-05-03 21:13:21 +0200, Anton Khirnov wrote:
> This function should not modify any global state, so there should be no
> reason for any locking.
> ---
> libavcodec/utils.c | 18 ------------------
> 1 file changed, 18 deletions(-)
>
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index f14d1eb..fefa69c 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -1619,19 +1619,6 @@ void avsubtitle_free(AVSubtitle *sub)
>
> av_cold int avcodec_close(AVCodecContext *avctx)
> {
> - /* If there is a user-supplied mutex locking routine, call it. */
> - if (lockmgr_cb) {
> - if ((*lockmgr_cb)(&codec_mutex, AV_LOCK_OBTAIN))
> - return -1;
> - }
> -
> - entangled_thread_counter++;
> - if (entangled_thread_counter != 1) {
> - av_log(avctx, AV_LOG_ERROR, "insufficient thread locking around
> avcodec_open/close()\n");
> - entangled_thread_counter--;
> - return -1;
> - }
> -
> if (avcodec_is_open(avctx)) {
> FramePool *pool = avctx->internal->pool;
> int i;
> @@ -1655,12 +1642,7 @@ av_cold int avcodec_close(AVCodecContext *avctx)
> av_freep(&avctx->extradata);
> avctx->codec = NULL;
> avctx->active_thread_type = 0;
> - entangled_thread_counter--;
>
> - /* Release any user-supplied mutex. */
> - if (lockmgr_cb) {
> - (*lockmgr_cb)(&codec_mutex, AV_LOCK_RELEASE);
> - }
> return 0;
> }
as said on irc: ok if you're certain that no codec modifies global state
during close()
Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel