return NULL;
}
-#if FF_API_CHILD_CLASS_NEXT
-static const AVClass *format_child_class_next(const AVClass *prev)
-{
- const AVInputFormat *ifmt = NULL;
- const AVOutputFormat *ofmt = NULL;
- void *ifmt_iter = NULL, *ofmt_iter = NULL;
-
- if (!prev)
- return &ff_avio_class;
-
- while ((ifmt = av_demuxer_iterate(&ifmt_iter)))
- if (ifmt->priv_class == prev)
- break;
-
- if (!ifmt) {
- ifmt_iter = NULL;
- while ((ofmt = av_muxer_iterate(&ofmt_iter)))
- if (ofmt->priv_class == prev)
- break;
- }
- if (!ofmt) {
- ofmt_iter = NULL;
- while ((ifmt = av_demuxer_iterate(&ifmt_iter)))
- if (ifmt->priv_class)
- return ifmt->priv_class;
- }
-
- while ((ofmt = av_muxer_iterate(&ofmt_iter)))
- if (ofmt->priv_class)
- return ofmt->priv_class;
-
- return NULL;
-}
-#endif
-
enum {
CHILD_CLASS_ITER_AVIO = 0,
CHILD_CLASS_ITER_MUX,
.option = avformat_options,
.version = LIBAVUTIL_VERSION_INT,
.child_next = format_child_next,
-#if FF_API_CHILD_CLASS_NEXT
- .child_class_next = format_child_class_next,
-#endif
.child_class_iterate = format_child_class_iterate,
.category = AV_CLASS_CATEGORY_MUXER,
.get_category = get_category,
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);
}
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;