From: Marton Balint <cus@passwd.hu> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 1/2] Revert "fftools/textformat/avtextformat: Make close functions return void" Date: Thu, 15 May 2025 23:28:54 +0200 (CEST) Message-ID: <5e49a1f0-1a54-8b0b-35b4-886722f2178c@passwd.hu> (raw) In-Reply-To: <20250507125435.25852-1-cus@passwd.hu> On Wed, 7 May 2025, Marton Balint wrote: > This reverts commit 7684243fbe6e84fecb4a039195d5fda8a006a2a4 and > a888975a3c25760027cd59932f5c1ad04368db8b. Will apply the series. Regards, Marton > --- > 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". > _______________________________________________ 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".
prev parent reply other threads:[~2025-05-15 21:32 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-05-07 12:54 Marton Balint 2025-05-07 12:54 ` [FFmpeg-devel] [PATCH 2/2] fftools/textformat: correctly propagate uninit error codes Marton Balint 2025-05-15 21:28 ` Marton Balint [this message]
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=5e49a1f0-1a54-8b0b-35b4-886722f2178c@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