[FFmpeg-cvslog] lavc: remove the locking code in avcodec_close()
Anton Khirnov
git at videolan.org
Sun May 18 13:00:10 CEST 2014
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sat Apr 5 07:09:44 2014 +0200| [e1b66778b6ee82a192b5895e23c4e135f7269326] | committer: Anton Khirnov
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e1b66778b6ee82a192b5895e23c4e135f7269326
---
libavcodec/utils.c | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index d5c3070..71cbc57 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -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;
}
More information about the ffmpeg-cvslog
mailing list