From: Marton Balint <cus@passwd.hu> To: ffmpeg-devel@ffmpeg.org Cc: Marton Balint <cus@passwd.hu> Subject: [FFmpeg-devel] [PATCH 1/2] Revert "fftools/textformat/avtextformat: Make close functions return void" Date: Wed, 7 May 2025 14:54:31 +0200 Message-ID: <20250507125435.25852-1-cus@passwd.hu> (raw) This reverts commit 7684243fbe6e84fecb4a039195d5fda8a006a2a4 and a888975a3c25760027cd59932f5c1ad04368db8b. --- fftools/ffprobe.c | 14 +++++++++++--- fftools/textformat/avtextformat.c | 12 ++++++++---- fftools/textformat/avtextformat.h | 2 +- fftools/textformat/avtextwriters.h | 2 +- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index d980d4e64f..a2342ec894 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -3077,7 +3077,7 @@ int main(int argc, char **argv) AVTextWriterContext *wctx; char *buf; char *f_name = NULL, *f_args = NULL; - int ret, i; + int ret, input_ret, i; init_dynload(); @@ -3199,11 +3199,19 @@ int main(int argc, char **argv) show_error(tctx, ret); } + input_ret = ret; + avtext_print_section_footer(tctx); - avtextwriter_context_close(&wctx); + ret = avtextwriter_context_close(&wctx); + if (ret < 0) + av_log(NULL, AV_LOG_ERROR, "Writing output failed (closing writer): %s\n", av_err2str(ret)); + + ret = avtext_context_close(&tctx); + if (ret < 0) + av_log(NULL, AV_LOG_ERROR, "Writing output failed (closing formatter): %s\n", av_err2str(ret)); - avtext_context_close(&tctx); + ret = FFMIN(ret, input_ret); } end: diff --git a/fftools/textformat/avtextformat.c b/fftools/textformat/avtextformat.c index 9200b9b1ad..5abf81194e 100644 --- a/fftools/textformat/avtextformat.c +++ b/fftools/textformat/avtextformat.c @@ -99,13 +99,14 @@ static void bprint_bytes(AVBPrint *bp, const uint8_t *ubuf, size_t ubuf_size) av_bprintf(bp, "%02X", ubuf[i]); } -void avtext_context_close(AVTextFormatContext **ptctx) +int avtext_context_close(AVTextFormatContext **ptctx) { AVTextFormatContext *tctx = *ptctx; int i; + int ret = 0; if (!tctx) - return; + return AVERROR(EINVAL); av_hash_freep(&tctx->hash); @@ -122,6 +123,7 @@ void avtext_context_close(AVTextFormatContext **ptctx) av_freep(&tctx->priv); av_opt_free(tctx); av_freep(ptctx); + return ret; } @@ -582,12 +584,13 @@ static const AVClass textwriter_class = { }; -void avtextwriter_context_close(AVTextWriterContext **pwctx) +int avtextwriter_context_close(AVTextWriterContext **pwctx) { AVTextWriterContext *wctx = *pwctx; + int ret = 0; if (!wctx) - return; + return AVERROR(EINVAL); if (wctx->writer) { if (wctx->writer->uninit) @@ -597,6 +600,7 @@ void avtextwriter_context_close(AVTextWriterContext **pwctx) } av_freep(&wctx->priv); av_freep(pwctx); + return ret; } diff --git a/fftools/textformat/avtextformat.h b/fftools/textformat/avtextformat.h index c2c56dc1a7..9fad3caae5 100644 --- a/fftools/textformat/avtextformat.h +++ b/fftools/textformat/avtextformat.h @@ -132,7 +132,7 @@ int avtext_context_open(AVTextFormatContext **ptctx, const AVTextFormatter *form int show_optional_fields, char *show_data_hash); -void avtext_context_close(AVTextFormatContext **tctx); +int avtext_context_close(AVTextFormatContext **tctx); void avtext_print_section_header(AVTextFormatContext *tctx, const void *data, int section_id); diff --git a/fftools/textformat/avtextwriters.h b/fftools/textformat/avtextwriters.h index c99d6b3548..87b0024ba1 100644 --- a/fftools/textformat/avtextwriters.h +++ b/fftools/textformat/avtextwriters.h @@ -55,7 +55,7 @@ typedef struct AVTextWriterContext { int avtextwriter_context_open(AVTextWriterContext **pwctx, const AVTextWriter *writer); -void avtextwriter_context_close(AVTextWriterContext **pwctx); +int avtextwriter_context_close(AVTextWriterContext **pwctx); int avtextwriter_create_stdout(AVTextWriterContext **pwctx); -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next reply other threads:[~2025-05-07 12:55 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-05-07 12:54 Marton Balint [this message] 2025-05-07 12:54 ` [FFmpeg-devel] [PATCH 2/2] fftools/textformat: correctly propagate uninit error codes Marton Balint 2025-05-15 21:28 ` [FFmpeg-devel] [PATCH 1/2] Revert "fftools/textformat/avtextformat: Make close functions return void" Marton Balint
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20250507125435.25852-1-cus@passwd.hu \ --to=cus@passwd.hu \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git