[FFmpeg-devel] [PATCH] lavu: add an API function to return the FFmpeg version string

wm4 nfxjfg at googlemail.com
Tue Jun 30 23:57:53 CEST 2015


This returns something like "N-73264-gb54ac84". This is much more useful
than the individual library versions, of which there are too much and
which are very hard to map back to releases or git commits.
---
This actually just returns the contents of the already semi-public
av_util_ffversion variable. But this variable is undocumented, has no
public declaration, requires accessing variables over library
boundaries (which is apparently frowned upon and/or causes various
issues), and lacks av_export.
---
 doc/APIchanges     | 3 +++
 libavutil/avutil.h | 7 +++++++
 libavutil/utils.c  | 5 +++++
 3 files changed, 15 insertions(+)

diff --git a/doc/APIchanges b/doc/APIchanges
index 6e64a05..b1ecc3c 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil:     2014-08-09
 
 API changes, most recent first:
 
+2015-xx-xx - xxxxxx - lavu  53.xx.100
+  Add avutil_version_info().
+
 -------- 8< --------- FFmpeg 2.7 was cut here -------- 8< ---------
 
 2015-06-04 - cc17b43 - lswr  1.2.100
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index e6ebb6c..eec2d55 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -171,6 +171,13 @@
 unsigned avutil_version(void);
 
 /**
+ * Return an informative version string. This usually the actual release version
+ * number and a git hash. This string has no fixed format and can change any
+ * time. It should never be parsed by code.
+ */
+const char *avutil_version_info(void);
+
+/**
  * Return the libavutil build-time configuration.
  */
 const char *avutil_configuration(void);
diff --git a/libavutil/utils.c b/libavutil/utils.c
index 0b765ed..07bb380 100644
--- a/libavutil/utils.c
+++ b/libavutil/utils.c
@@ -30,6 +30,11 @@
 #include "libavutil/ffversion.h"
 const char av_util_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
 
+const char *avutil_version_info(void)
+{
+    return FFMPEG_VERSION;
+}
+
 unsigned avutil_version(void)
 {
     static int checks_done;
-- 
2.1.4



More information about the ffmpeg-devel mailing list