[FFmpeg-devel] [PATCH] lavfi: Move new field to the end of AVFilterContext

Timo Rothenpieler timo at rothenpieler.org
Wed Jun 29 15:24:22 CEST 2016


This fixes an accidental ABI break introduced at 8688d3a.
---
 doc/APIchanges         |  8 ++++++++
 libavfilter/avfilter.h | 14 +++++++-------
 libavfilter/version.h  |  4 ++--
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 6dd5ad7..47106c2 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,14 @@ libavutil:     2015-08-28
 
 API changes, most recent first:
 
+2016-06-29 - xxxxxxx - lavfi 6.47.100 - avfilter.h
+  Fix accidental ABI breakage in AVFilterContext.
+  ABI was broken in 8688d3a, lavfi 6.42.100 and released as ffmpeg 3.1.
+
+  Because of this, ffmpeg and ffplay built against lavfi>=6.42.100 will not be
+  compatible with lavfi>=6.47.100. Potentially also affects other users of
+  libavfilter if they are using one of the affected fields.
+
 -------- 8< --------- FFmpeg 3.1 was cut here -------- 8< ---------
 
 2016-06-26 - 481f320 / 1c9e861 - lavu 55.27.100 / 55.13.0 - hwcontext.h
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 8a7f791..757b81a 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -344,6 +344,13 @@ struct AVFilterContext {
      */
     AVFilterInternal *internal;
 
+    struct AVFilterCommand *command_queue;
+
+    char *enable_str;               ///< enable expression string
+    void *enable;                   ///< parsed expression (AVExpr*)
+    double *var_values;             ///< variable values for the enable expression
+    int is_disabled;                ///< the enabled state from the last expression evaluation
+
     /**
      * For filters which will create hardware frames, sets the device the
      * filter should create them in.  All other filters will ignore this field:
@@ -352,13 +359,6 @@ struct AVFilterContext {
      * hardware context information.
      */
     AVBufferRef *hw_device_ctx;
-
-    struct AVFilterCommand *command_queue;
-
-    char *enable_str;               ///< enable expression string
-    void *enable;                   ///< parsed expression (AVExpr*)
-    double *var_values;             ///< variable values for the enable expression
-    int is_disabled;                ///< the enabled state from the last expression evaluation
 };
 
 /**
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 1924cfe..6d56dad 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -30,8 +30,8 @@
 #include "libavutil/version.h"
 
 #define LIBAVFILTER_VERSION_MAJOR   6
-#define LIBAVFILTER_VERSION_MINOR  46
-#define LIBAVFILTER_VERSION_MICRO 102
+#define LIBAVFILTER_VERSION_MINOR  47
+#define LIBAVFILTER_VERSION_MICRO 100
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                LIBAVFILTER_VERSION_MINOR, \
-- 
2.9.0



More information about the ffmpeg-devel mailing list