avformat/dvdvideodec: Reorder allocations to simplify freeing

Reviewed-by: Marth64 <marth64@proxyid.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2024-03-02 16:41:31 +01:00
parent 77b26bf4b6
commit 1a4e0eb374
1 changed files with 4 additions and 8 deletions

View File

@ -1211,20 +1211,16 @@ static int dvdvideo_subdemux_open(AVFormatContext *s)
extern const AVInputFormat ff_mpegps_demuxer;
int ret = 0;
if (!(c->mpeg_ctx = avformat_alloc_context()))
if (!(c->mpeg_buf = av_mallocz(DVDVIDEO_BLOCK_SIZE)))
return AVERROR(ENOMEM);
if (!(c->mpeg_buf = av_mallocz(DVDVIDEO_BLOCK_SIZE))) {
avformat_free_context(c->mpeg_ctx);
c->mpeg_ctx = NULL;
return AVERROR(ENOMEM);
}
ffio_init_context(&c->mpeg_pb, c->mpeg_buf, DVDVIDEO_BLOCK_SIZE, 0, s,
dvdvideo_subdemux_read_data, NULL, NULL);
c->mpeg_pb.pub.seekable = 0;
if (!(c->mpeg_ctx = avformat_alloc_context()))
return AVERROR(ENOMEM);
if ((ret = ff_copy_whiteblacklists(c->mpeg_ctx, s)) < 0) {
avformat_free_context(c->mpeg_ctx);
c->mpeg_ctx = NULL;