]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/options.c
avformat: Remove deprecated old open callbacks
[ffmpeg] / libavformat / options.c
index 3160904fda9c7f40c86b58d51a3ca8dd100e4025..632d450c906e9ebae623be9c70086a7afc7ce1e0 100644 (file)
@@ -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 {
@@ -178,13 +181,6 @@ static int io_open_default(AVFormatContext *s, AVIOContext **pb,
 
     av_log(s, loglevel, "Opening \'%s\' for %s\n", url, flags & AVIO_FLAG_WRITE ? "writing" : "reading");
 
-#if FF_API_OLD_OPEN_CALLBACKS
-FF_DISABLE_DEPRECATION_WARNINGS
-    if (s->open_cb)
-        return s->open_cb(s, pb, url, flags, &s->interrupt_callback, options);
-FF_ENABLE_DEPRECATION_WARNINGS
-#endif
-
     return ffio_open_whitelist(pb, url, flags, &s->interrupt_callback, options, s->protocol_whitelist, s->protocol_blacklist);
 }
 
@@ -217,6 +213,15 @@ AVFormatContext *avformat_alloc_context(void)
         av_free(ic);
         return NULL;
     }
+    internal->pkt = av_packet_alloc();
+    internal->parse_pkt = av_packet_alloc();
+    if (!internal->pkt || !internal->parse_pkt) {
+        av_packet_free(&internal->pkt);
+        av_packet_free(&internal->parse_pkt);
+        av_free(internal);
+        av_free(ic);
+        return NULL;
+    }
     avformat_get_context_defaults(ic);
     ic->internal = internal;
     ic->internal->offset = AV_NOPTS_VALUE;