[FFmpeg-devel] [PATCH 03/10] avformat/nutenc: Add goto fail in nut_write_headers()

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Mon May 4 21:22:43 EEST 2020


It allows to combine several ffio_free_dyn_buf().

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 libavformat/nutenc.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
index 6125429cc3..c1606651fe 100644
--- a/libavformat/nutenc.c
+++ b/libavformat/nutenc.c
@@ -632,8 +632,7 @@ static int write_headers(AVFormatContext *avctx, AVIOContext *bc)
     for (i = 0; i < nut->avf->nb_streams; i++) {
         ret = write_streamheader(avctx, dyn_bc, nut->avf->streams[i], i);
         if (ret < 0) {
-            ffio_free_dyn_buf(&dyn_bc);
-            return ret;
+            goto fail;
         }
         put_packet(nut, bc, dyn_bc, STREAM_STARTCODE);
     }
@@ -646,16 +645,14 @@ static int write_headers(AVFormatContext *avctx, AVIOContext *bc)
         if (ret > 0)
             put_packet(nut, bc, dyn_bc, INFO_STARTCODE);
         else if (ret < 0) {
-            ffio_free_dyn_buf(&dyn_bc);
-                return ret;
+            goto fail;
         }
     }
 
     for (i = 0; i < nut->avf->nb_chapters; i++) {
         ret = write_chapter(nut, dyn_bc, i);
         if (ret < 0) {
-            ffio_free_dyn_buf(&dyn_bc);
-            return ret;
+            goto fail;
         }
         put_packet(nut, bc, dyn_bc, INFO_STARTCODE);
     }
@@ -663,9 +660,11 @@ static int write_headers(AVFormatContext *avctx, AVIOContext *bc)
     nut->last_syncpoint_pos = INT_MIN;
     nut->header_count++;
 
+    ret = 0;
+fail:
     ffio_free_dyn_buf(&dyn_bc);
 
-    return 0;
+    return ret;
 }
 
 static int nut_write_header(AVFormatContext *s)
-- 
2.20.1



More information about the ffmpeg-devel mailing list