[FFmpeg-cvslog] fftools/ffprobe: report avio errors

Marton Balint git at videolan.org
Tue Jun 21 00:56:13 EEST 2022


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Mon Jun 13 23:02:04 2022 +0200| [c11fb467312716f15247397ebafc0093d5e7cab0] | committer: Marton Balint

fftools/ffprobe: report avio errors

Signed-off-by: Marton Balint <cus at passwd.hu>

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

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

diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 4e2fdbaec8..5020ba484c 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -545,12 +545,13 @@ static const AVClass writer_class = {
     .child_next = writer_child_next,
 };
 
-static void writer_close(WriterContext **wctx)
+static int writer_close(WriterContext **wctx)
 {
     int i;
+    int ret = 0;
 
     if (!*wctx)
-        return;
+        return -1;
 
     if ((*wctx)->writer->uninit)
         (*wctx)->writer->uninit(*wctx);
@@ -562,9 +563,10 @@ static void writer_close(WriterContext **wctx)
     av_opt_free(*wctx);
     if ((*wctx)->avio) {
         avio_flush((*wctx)->avio);
-        avio_close((*wctx)->avio);
+        ret = avio_close((*wctx)->avio);
     }
     av_freep(wctx);
+    return ret;
 }
 
 static void bprint_bytes(AVBPrint *bp, const uint8_t *ubuf, size_t ubuf_size)
@@ -4145,7 +4147,9 @@ int main(int argc, char **argv)
         }
 
         writer_print_section_footer(wctx);
-        writer_close(&wctx);
+        ret = writer_close(&wctx);
+        if (ret < 0)
+            av_log(NULL, AV_LOG_ERROR, "Writing output failed: %s\n", av_err2str(ret));
     }
 
 end:



More information about the ffmpeg-cvslog mailing list