fftools/ffprobe: report avio errors

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint 2022-06-13 23:02:04 +02:00
parent fe662516a5
commit c11fb46731
1 changed files with 8 additions and 4 deletions

View File

@ -545,12 +545,13 @@ static const AVClass writer_class = {
.child_next = writer_child_next, .child_next = writer_child_next,
}; };
static void writer_close(WriterContext **wctx) static int writer_close(WriterContext **wctx)
{ {
int i; int i;
int ret = 0;
if (!*wctx) if (!*wctx)
return; return -1;
if ((*wctx)->writer->uninit) if ((*wctx)->writer->uninit)
(*wctx)->writer->uninit(*wctx); (*wctx)->writer->uninit(*wctx);
@ -562,9 +563,10 @@ static void writer_close(WriterContext **wctx)
av_opt_free(*wctx); av_opt_free(*wctx);
if ((*wctx)->avio) { if ((*wctx)->avio) {
avio_flush((*wctx)->avio); avio_flush((*wctx)->avio);
avio_close((*wctx)->avio); ret = avio_close((*wctx)->avio);
} }
av_freep(wctx); av_freep(wctx);
return ret;
} }
static void bprint_bytes(AVBPrint *bp, const uint8_t *ubuf, size_t ubuf_size) 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_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: end: