mirror of https://git.ffmpeg.org/ffmpeg.git
lavc: remove the locking code in avcodec_close()
This function should not modify any global state, so there should be no reason for any locking.
This commit is contained in:
parent
584f884090
commit
e1b66778b6
|
@ -1684,19 +1684,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;
|
||||
|
@ -1725,12 +1712,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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue