real_parse_asm_rulebook(s, s->streams[stream_index], p);
}
- static PayloadContext *
- rdt_new_context (void)
- {
- PayloadContext *rdt = av_mallocz(sizeof(PayloadContext));
- if (!rdt)
- return NULL;
-
- rdt->rmctx = avformat_alloc_context();
- if (!rdt->rmctx)
- av_freep(&rdt);
+
- return rdt;
- }
+
- static int
- rdt_init_context (AVFormatContext *s, int st_index, PayloadContext *rdt)
+ static av_cold int rdt_init(AVFormatContext *s, int st_index, PayloadContext *rdt)
{
+ int ret;
+
++ rdt->rmctx = avformat_alloc_context();
++ if (!rdt->rmctx)
++ return AVERROR(ENOMEM);
++
+ if ((ret = ff_copy_whitelists(rdt->rmctx, s)) < 0)
+ return ret;
+
return avformat_open_input(&rdt->rmctx, "", &ff_rdt_demuxer, NULL);
}