diff options
author | Marton Balint <cus@passwd.hu> | 2022-06-13 23:02:04 +0200 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2022-06-20 23:51:54 +0200 |
commit | c11fb467312716f15247397ebafc0093d5e7cab0 (patch) | |
tree | 63bcf06ee922e400a927de58ae80c5ff79b2b7d2 | |
parent | fe662516a526c3821b77057c5572bc7f83c21b60 (diff) |
fftools/ffprobe: report avio errors
Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r-- | fftools/ffprobe.c | 12 |
1 files 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: |