diff mbox series

[FFmpeg-devel,4/6] avformat/options: use the iterate API in format_child_class_next()

Message ID 20201010034527.21826-1-jamrial@gmail.com
State Accepted
Commit bddf53841a3efc228b143ee51c8db0daa78643e1
Headers show
Series [FFmpeg-devel,1/3] avdevice/alldevices: stop using deprecated linked list API | expand

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished

Commit Message

James Almer Oct. 10, 2020, 3:45 a.m. UTC
Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/options.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

Comments

Anton Khirnov Oct. 19, 2020, 2:56 p.m. UTC | #1
Quoting James Almer (2020-10-10 05:45:27)
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavformat/options.c | 23 +++++++++++++----------
>  1 file changed, 13 insertions(+), 10 deletions(-)
> 

Looks good
diff mbox series

Patch

diff --git a/libavformat/options.c b/libavformat/options.c
index 3160904fda..59e0389815 100644
--- a/libavformat/options.c
+++ b/libavformat/options.c
@@ -55,35 +55,38 @@  static void *format_child_next(void *obj, void *prev)
 }
 
 #if FF_API_CHILD_CLASS_NEXT
-FF_DISABLE_DEPRECATION_WARNINGS
 static const AVClass *format_child_class_next(const AVClass *prev)
 {
-    AVInputFormat  *ifmt = NULL;
-    AVOutputFormat *ofmt = NULL;
+    const AVInputFormat *ifmt = NULL;
+    const AVOutputFormat *ofmt = NULL;
+    void *ifmt_iter = NULL, *ofmt_iter = NULL;
 
     if (!prev)
         return &ff_avio_class;
 
-    while ((ifmt = av_iformat_next(ifmt)))
+    while ((ifmt = av_demuxer_iterate(&ifmt_iter)))
         if (ifmt->priv_class == prev)
             break;
 
-    if (!ifmt)
-        while ((ofmt = av_oformat_next(ofmt)))
+    if (!ifmt) {
+        ifmt_iter = NULL;
+        while ((ofmt = av_muxer_iterate(&ofmt_iter)))
             if (ofmt->priv_class == prev)
                 break;
-    if (!ofmt)
-        while (ifmt = av_iformat_next(ifmt))
+    }
+    if (!ofmt) {
+        ofmt_iter = NULL;
+        while ((ifmt = av_demuxer_iterate(&ifmt_iter)))
             if (ifmt->priv_class)
                 return ifmt->priv_class;
+    }
 
-    while (ofmt = av_oformat_next(ofmt))
+    while ((ofmt = av_muxer_iterate(&ofmt_iter)))
         if (ofmt->priv_class)
             return ofmt->priv_class;
 
     return NULL;
 }
-FF_ENABLE_DEPRECATION_WARNINGS
 #endif
 
 enum {