[FFmpeg-cvslog] avformat/dvdvideodec: Reorder allocations to simplify freeing

Andreas Rheinhardt git at videolan.org
Sun Mar 3 10:26:14 EET 2024


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sat Mar  2 16:41:31 2024 +0100| [1a4e0eb3745488e9756495357c6829ecdc45b076] | committer: Andreas Rheinhardt

avformat/dvdvideodec: Reorder allocations to simplify freeing

Reviewed-by: Marth64 <marth64 at proxyid.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1a4e0eb3745488e9756495357c6829ecdc45b076
---

 libavformat/dvdvideodec.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/libavformat/dvdvideodec.c b/libavformat/dvdvideodec.c
index f2f23affb2..7f4ecf2b61 100644
--- a/libavformat/dvdvideodec.c
+++ b/libavformat/dvdvideodec.c
@@ -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()))
-        return AVERROR(ENOMEM);
-
-    if (!(c->mpeg_buf = av_mallocz(DVDVIDEO_BLOCK_SIZE))) {
-        avformat_free_context(c->mpeg_ctx);
-        c->mpeg_ctx = NULL;
-
+    if (!(c->mpeg_buf = av_mallocz(DVDVIDEO_BLOCK_SIZE)))
         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;



More information about the ffmpeg-cvslog mailing list