[FFmpeg-devel] [PATCH 09/41] avformat/hashenc: Deduplicate AVClasses

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu Jun 17 05:31:30 EEST 2021


The child_class_next API relied on different (de)muxers to use
different AVClasses; yet this API has been replaced by
child_class_iterate.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavformat/hashenc.c | 25 +++++++++----------------
 1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/libavformat/hashenc.c b/libavformat/hashenc.c
index a1e98eda89..4d5cf2ee7d 100644
--- a/libavformat/hashenc.c
+++ b/libavformat/hashenc.c
@@ -47,6 +47,13 @@ static const AVOption hash_streamhash_options[] = {
     HASH_OPT("sha256"),
     { NULL },
 };
+
+static const AVClass hash_streamhashenc_class = {
+    .class_name = "(stream) hash muxer",
+    .item_name  = av_default_item_name,
+    .option     = hash_streamhash_options,
+    .version    = LIBAVUTIL_VERSION_INT,
+};
 #endif
 
 #if CONFIG_FRAMEHASH_MUXER
@@ -164,13 +171,6 @@ static void hash_free(struct AVFormatContext *s)
 }
 
 #if CONFIG_HASH_MUXER
-static const AVClass hashenc_class = {
-    .class_name = "hash muxer",
-    .item_name  = av_default_item_name,
-    .option     = hash_streamhash_options,
-    .version    = LIBAVUTIL_VERSION_INT,
-};
-
 const AVOutputFormat ff_hash_muxer = {
     .name              = "hash",
     .long_name         = NULL_IF_CONFIG_SMALL("Hash testing"),
@@ -183,7 +183,7 @@ const AVOutputFormat ff_hash_muxer = {
     .deinit            = hash_free,
     .flags             = AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT |
                          AVFMT_TS_NEGATIVE,
-    .priv_class        = &hashenc_class,
+    .priv_class        = &hash_streamhashenc_class,
 };
 #endif
 
@@ -212,13 +212,6 @@ const AVOutputFormat ff_md5_muxer = {
 #endif
 
 #if CONFIG_STREAMHASH_MUXER
-static const AVClass streamhashenc_class = {
-    .class_name = "stream hash muxer",
-    .item_name  = av_default_item_name,
-    .option     = hash_streamhash_options,
-    .version    = LIBAVUTIL_VERSION_INT,
-};
-
 const AVOutputFormat ff_streamhash_muxer = {
     .name              = "streamhash",
     .long_name         = NULL_IF_CONFIG_SMALL("Per-stream hash testing"),
@@ -231,7 +224,7 @@ const AVOutputFormat ff_streamhash_muxer = {
     .deinit            = hash_free,
     .flags             = AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT |
                          AVFMT_TS_NEGATIVE,
-    .priv_class        = &streamhashenc_class,
+    .priv_class        = &hash_streamhashenc_class,
 };
 #endif
 
-- 
2.27.0



More information about the ffmpeg-devel mailing list