[FFmpeg-cvslog] avcodec/adpcmenc: don't share a single AVClass between multiple AVCodecs.

Zane van Iperen git at videolan.org
Fri Apr 2 02:03:19 EEST 2021


ffmpeg | branch: release/4.4 | Zane van Iperen <zane at zanevaniperen.com> | Thu Apr  1 20:31:35 2021 +1000| [cc8eba0ab8ead680d0e6bd7c3d20dd11ed6c0677] | committer: Zane van Iperen

avcodec/adpcmenc: don't share a single AVClass between multiple AVCodecs.

Temporary fix until AVClass::child_class_next is gone.

Reviewed-By: James Almer <jamrial at gmail.com>
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>
(cherry picked from commit aa1cfe05a5778db3c4af400e98ebfc9d67136706)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cc8eba0ab8ead680d0e6bd7c3d20dd11ed6c0677
---

 libavcodec/adpcmenc.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c
index 78600735cf..58308dae47 100644
--- a/libavcodec/adpcmenc.c
+++ b/libavcodec/adpcmenc.c
@@ -959,14 +959,14 @@ static const AVOption options[] = {
     { NULL }
 };
 
-static const AVClass adpcm_encoder_class = {
-    .class_name = "ADPCM Encoder",
-    .item_name  = av_default_item_name,
-    .option     = options,
-    .version    = LIBAVUTIL_VERSION_INT,
-};
-
 #define ADPCM_ENCODER(id_, name_, sample_fmts_, capabilities_, long_name_) \
+static const AVClass name_ ## _encoder_class = {                           \
+    .class_name = #name_,                                                  \
+    .item_name  = av_default_item_name,                                    \
+    .option     = options,                                                 \
+    .version    = LIBAVUTIL_VERSION_INT,                                   \
+};                                                                         \
+                                                                           \
 AVCodec ff_ ## name_ ## _encoder = {                                       \
     .name           = #name_,                                              \
     .long_name      = NULL_IF_CONFIG_SMALL(long_name_),                    \
@@ -979,7 +979,7 @@ AVCodec ff_ ## name_ ## _encoder = {                                       \
     .sample_fmts    = sample_fmts_,                                        \
     .capabilities   = capabilities_,                                       \
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE, \
-    .priv_class     = &adpcm_encoder_class,                                \
+    .priv_class     = &name_ ## _encoder_class,                            \
 }
 
 ADPCM_ENCODER(AV_CODEC_ID_ADPCM_ARGO,    adpcm_argo,    sample_fmts_p, 0,                             "ADPCM Argonaut Games");



More information about the ffmpeg-cvslog mailing list