avfilter: deprecate avfilter_link_get_channels()
authorJames Almer <jamrial@gmail.com>
Fri, 5 Jan 2018 20:49:09 +0000 (17:49 -0300)
committerJames Almer <jamrial@gmail.com>
Fri, 5 Jan 2018 20:49:09 +0000 (17:49 -0300)
And move the channels field to the public section of the struct.

Signed-off-by: James Almer <jamrial@gmail.com>
doc/APIchanges
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/version.h

index 38c1be6..6e48c87 100644 (file)
@@ -15,6 +15,10 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2018-01-xx - xxxxxxx - lavfi 7.11.101 - avfilter.h
+  Deprecate avfilter_link_get_channels(), and make AVFilterLink->channels
+  public.
+
 2017-xx-xx - xxxxxxx - lavr 4.0.0 - avresample.h
   Deprecate the entire library. Merged years ago to provide compatibility
   with Libav, it remained unmaintained by the FFmpeg project and duplicated
index ff7df67..ea75467 100644 (file)
@@ -183,10 +183,12 @@ void avfilter_link_free(AVFilterLink **link)
     av_freep(link);
 }
 
+#if FF_API_FILTER_GET_SET
 int avfilter_link_get_channels(AVFilterLink *link)
 {
     return link->channels;
 }
+#endif
 
 void ff_filter_set_ready(AVFilterContext *filter, unsigned priority)
 {
index 47546c1..410d8bb 100644 (file)
@@ -448,6 +448,11 @@ struct AVFilterLink {
      */
     AVRational time_base;
 
+    /**
+     * Number of channels.
+     */
+    int channels;
+
     /*****************************************************************
      * All fields below this line are not part of the public API. They
      * may not be used outside of libavfilter and can be changed and
@@ -552,11 +557,6 @@ struct AVFilterLink {
     int max_samples;
 
     /**
-     * Number of channels.
-     */
-    int channels;
-
-    /**
      * Link processing flags.
      */
     unsigned flags;
@@ -647,10 +647,15 @@ int avfilter_link(AVFilterContext *src, unsigned srcpad,
  */
 void avfilter_link_free(AVFilterLink **link);
 
+#if FF_API_FILTER_GET_SET
 /**
  * Get the number of channels of a link.
+ * @deprecated This accessor used to be provided for ABI compatibility, and
+ * does not need to be used anymore.
  */
+attribute_deprecated
 int avfilter_link_get_channels(AVFilterLink *link);
+#endif
 
 /**
  * Set the closed field of a link.
index c07f4d3..0f11721 100644 (file)
@@ -31,7 +31,7 @@
 
 #define LIBAVFILTER_VERSION_MAJOR   7
 #define LIBAVFILTER_VERSION_MINOR  11
-#define LIBAVFILTER_VERSION_MICRO 100
+#define LIBAVFILTER_VERSION_MICRO 101
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                LIBAVFILTER_VERSION_MINOR, \
@@ -55,5 +55,8 @@
 #ifndef FF_API_LAVR_OPTS
 #define FF_API_LAVR_OPTS                    (LIBAVFILTER_VERSION_MAJOR < 8)
 #endif
+#ifndef FF_API_FILTER_GET_SET
+#define FF_API_FILTER_GET_SET               (LIBAVFILTER_VERSION_MAJOR < 8)
+#endif
 
 #endif /* AVFILTER_VERSION_H */