aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2017-12-21 22:54:06 +0100
committerwm4 <nfxjfg@googlemail.com>2017-12-26 02:50:00 +0100
commit86a13bf2ffb40d44260d5747a4782a42a43a1ed8 (patch)
treecb6310c0db5956b5c8567cd9e99e6c2799ce90e0 /libavformat/utils.c
parente24f192a9fd6013e272df1bfaeaba31e8ca49f92 (diff)
downloadffmpeg-86a13bf2ffb40d44260d5747a4782a42a43a1ed8.tar.gz
lavc, lavf: move avformat static mutex from avcodec to avformat
It's completely absurd that libavcodec would care about libavformat locking, but it was there because the lock manager was in libavcodec. This is more stright forward. Changes ABI, but we don't require ABI compatibility currently.
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r--libavformat/utils.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 84e49208b8..9b46bd6737 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -32,6 +32,7 @@
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
+#include "libavutil/thread.h"
#include "libavutil/time.h"
#include "libavutil/time_internal.h"
#include "libavutil/timestamp.h"
@@ -55,6 +56,8 @@
#include "libavutil/ffversion.h"
const char av_format_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+static AVMutex avformat_mutex = AV_MUTEX_INITIALIZER;
+
/**
* @file
* various utility functions for use within FFmpeg
@@ -77,6 +80,16 @@ const char *avformat_license(void)
return LICENSE_PREFIX FFMPEG_LICENSE + sizeof(LICENSE_PREFIX) - 1;
}
+int ff_lock_avformat(void)
+{
+ return ff_mutex_lock(&avformat_mutex) ? -1 : 0;
+}
+
+int ff_unlock_avformat(void)
+{
+ return ff_mutex_unlock(&avformat_mutex) ? -1 : 0;
+}
+
#define RELATIVE_TS_BASE (INT64_MAX - (1LL<<48))
static int is_relative(int64_t ts) {