From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH] avfilter/formats: set audio fmt lists for vaf filters
Date: Thu, 14 Dec 2023 20:18:06 +0100
Message-ID: <20231214191806.GL6420@pb2> (raw)
In-Reply-To: <20231214154036.GB39465@haasn.xyz>
[-- Attachment #1.1: Type: text/plain, Size: 2790 bytes --]
On Thu, Dec 14, 2023 at 03:40:36PM +0100, Niklas Haas wrote:
> On Thu, 14 Dec 2023 15:39:11 +0100 Niklas Haas <ffmpeg@haasn.xyz> wrote:
> > From: Niklas Haas <git@haasn.dev>
> >
> > Currently, the logic inside the FF_FILTER_FORMATS_QUERY_FUNC branch
> > prevents this code from running in the event that we have a filter with
> > a single video input and a single audio output, as the resulting audio
> > output link will not have its channel counts / samplerates correctly
> > initialized to their default values, possibly triggering a segfault
> > downstream.
> >
> > An example of such a filter is vaf_spectrumsynth. Although this
> > particular filter already sets up the channel counts and samplerates as
> > part of the query function and therefore avoids triggering this bug, the
> > bug still exists in principle. (And importantly, sets a wrong precedent)
> > ---
> > libavfilter/formats.c | 9 +++++----
> > 1 file changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/libavfilter/formats.c b/libavfilter/formats.c
> > index d1c97daf64..114886aeb2 100644
> > --- a/libavfilter/formats.c
> > +++ b/libavfilter/formats.c
> > @@ -808,16 +808,17 @@ int ff_default_query_formats(AVFilterContext *ctx)
> > /* Intended fallthrough */
> > case FF_FILTER_FORMATS_PASSTHROUGH:
> > case FF_FILTER_FORMATS_QUERY_FUNC:
> > - type = ctx->nb_inputs ? ctx->inputs [0]->type :
> > - ctx->nb_outputs ? ctx->outputs[0]->type : AVMEDIA_TYPE_VIDEO;
> > - formats = ff_all_formats(type);
> > + type = AVMEDIA_TYPE_UNKNOWN;
> > + formats = ff_all_formats(ctx->nb_inputs ? ctx->inputs [0]->type :
> > + ctx->nb_outputs ? ctx->outputs[0]->type :
> > + AVMEDIA_TYPE_VIDEO);
> > break;
> > }
> >
> > ret = ff_set_common_formats(ctx, formats);
> > if (ret < 0)
> > return ret;
> > - if (type == AVMEDIA_TYPE_AUDIO) {
> > + if (type != AVMEDIA_TYPE_VIDEO) {
> > ret = ff_set_common_all_channel_counts(ctx);
> > if (ret < 0)
> > return ret;
> > --
> > 2.43.0
> >
>
> This patch fixes the underlying issue (alongside the corresponding
> adjustment to the conditional from `type == AVMEDIA_TYPE_VIDEO` to `type
> != AVMEDIA_TYPE_AUDIO` in patch 03/15).
do you have some git branch i can test so i dont have to apply a patchset
with adjustments and hope i have the exact same code ?
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In fact, the RIAA has been known to suggest that students drop out
of college or go to community college in order to be able to afford
settlements. -- The RIAA
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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 prev parent reply other threads:[~2023-12-14 19:18 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-13 13:11 [FFmpeg-devel] [PATCH v2 00/15] YUV colorspace filter negotiation Niklas Haas
2023-12-13 13:11 ` [FFmpeg-devel] [PATCH v2 01/15] avfilter/formats: document ff_default_query_formats Niklas Haas
2023-12-13 13:11 ` [FFmpeg-devel] [PATCH v2 02/15] avfilter: always call ff_default_query_formats Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 03/15] avfilter: add negotiation API for color space/range Niklas Haas
2023-12-14 3:09 ` Michael Niedermayer
2023-12-14 14:09 ` Niklas Haas
2023-12-14 14:39 ` [FFmpeg-devel] [PATCH] avfilter/formats: set audio fmt lists for vaf filters Niklas Haas
2023-12-14 14:40 ` Niklas Haas
2023-12-14 19:18 ` Michael Niedermayer [this message]
2023-12-19 15:03 ` Nicolas George
2024-01-03 3:04 ` [FFmpeg-devel] [PATCH v2 03/15] avfilter: add negotiation API for color space/range Xiang, Haihao
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 04/15] fftools/ffmpeg_filter: don't clear buffersrc params Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 05/15] avfilter/buffersrc: add color_space/range parameters Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 06/15] fftools/ffmpeg_filter: configure buffersrc with csp/range Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 07/15] vf_scale: use colorspace negotiation API Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 08/15] avfilter/vf_zscale: remove unused variables Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 09/15] avfilter/vf_zscale: switch to colorspace negotiation API Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 10/15] avfilter/vf_libplacebo: don't force dovi frames to bt.2020-ncl Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 11/15] avfilter/vf_libplacebo: switch to colorspace negotiation API Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 12/15] avfilter/buffersink: add color space/range accessors Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 13/15] avfilter/vf_format: re-use AVFilterFormats for pix_fmt parsing Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 14/15] avfilter/vf_format: add color_ranges/spaces Niklas Haas
2023-12-13 13:12 ` [FFmpeg-devel] [PATCH v2 15/15] avfilter/vf_format: allow empty pix_fmts list Niklas Haas
2023-12-24 18:35 ` [FFmpeg-devel] [PATCH v2 00/15] YUV colorspace filter negotiation Niklas Haas
2023-12-31 21:50 ` Niklas Haas
2024-01-04 19:32 ` Dong, Ruijing via ffmpeg-devel
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=20231214191806.GL6420@pb2 \
--to=michael@niedermayer.cc \
--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