* [FFmpeg-devel] [PATCH v3] avformat/riffdec: warn on invalid sample rate
@ 2025-01-30 16:24 Viraaj Raulgaonkar
2025-01-30 23:19 ` Marton Balint
0 siblings, 1 reply; 5+ messages in thread
From: Viraaj Raulgaonkar @ 2025-01-30 16:24 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Viraaj Raulgaonkar
If std_strict_compliance < FF_COMPLIANCE_STRICT, then warn the user of
the invalid sample rate instead of returning an error. This allows the
sample rate to be decoded in certain cases.
Fixes Trac Ticket #11361.
---
libavformat/riffdec.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
index b7a85a6ab2..1f4cacf1d5 100644
--- a/libavformat/riffdec.c
+++ b/libavformat/riffdec.c
@@ -180,9 +180,12 @@ int ff_get_wav_header(void *logctx, AVIOContext *pb,
par->bit_rate = bitrate;
if (par->sample_rate <= 0) {
- av_log(logctx, AV_LOG_ERROR,
+ int strict = ((AVFormatContext*)logctx)->strict_std_compliance >= FF_COMPLIANCE_STRICT;
+ av_log(logctx, strict ? AV_LOG_ERROR : AV_LOG_WARNING,
"Invalid sample rate: %d\n", par->sample_rate);
- return AVERROR_INVALIDDATA;
+ if (strict)
+ return AVERROR_INVALIDDATA;
+ par->sample_rate = 0;
}
if (par->codec_id == AV_CODEC_ID_AAC_LATM) {
/* Channels and sample_rate values are those prior to applying SBR
--
2.39.5
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3] avformat/riffdec: warn on invalid sample rate
2025-01-30 16:24 [FFmpeg-devel] [PATCH v3] avformat/riffdec: warn on invalid sample rate Viraaj Raulgaonkar
@ 2025-01-30 23:19 ` Marton Balint
2025-01-31 2:48 ` Viraaj Raulgaonkar
0 siblings, 1 reply; 5+ messages in thread
From: Marton Balint @ 2025-01-30 23:19 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Thu, 30 Jan 2025, Viraaj Raulgaonkar wrote:
> If std_strict_compliance < FF_COMPLIANCE_STRICT, then warn the user of
> the invalid sample rate instead of returning an error. This allows the
> sample rate to be decoded in certain cases.
>
> Fixes Trac Ticket #11361.
> ---
> libavformat/riffdec.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
> index b7a85a6ab2..1f4cacf1d5 100644
> --- a/libavformat/riffdec.c
> +++ b/libavformat/riffdec.c
> @@ -180,9 +180,12 @@ int ff_get_wav_header(void *logctx, AVIOContext *pb,
> par->bit_rate = bitrate;
>
> if (par->sample_rate <= 0) {
> - av_log(logctx, AV_LOG_ERROR,
> + int strict = ((AVFormatContext*)logctx)->strict_std_compliance >= FF_COMPLIANCE_STRICT;
You should change the type in the function declaration, not cast it here.
Thanks,
Marton
> + av_log(logctx, strict ? AV_LOG_ERROR : AV_LOG_WARNING,
> "Invalid sample rate: %d\n", par->sample_rate);
> - return AVERROR_INVALIDDATA;
> + if (strict)
> + return AVERROR_INVALIDDATA;
> + par->sample_rate = 0;
> }
> if (par->codec_id == AV_CODEC_ID_AAC_LATM) {
> /* Channels and sample_rate values are those prior to applying SBR
> --
> 2.39.5
>
> _______________________________________________
> 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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3] avformat/riffdec: warn on invalid sample rate
2025-01-30 23:19 ` Marton Balint
@ 2025-01-31 2:48 ` Viraaj Raulgaonkar
2025-01-31 10:04 ` Marton Balint
0 siblings, 1 reply; 5+ messages in thread
From: Viraaj Raulgaonkar @ 2025-01-31 2:48 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Fri, Jan 31, 2025 at 4:49 AM Marton Balint <cus@passwd.hu> wrote:
>
>
>
> On Thu, 30 Jan 2025, Viraaj Raulgaonkar wrote:
>
> > If std_strict_compliance < FF_COMPLIANCE_STRICT, then warn the user of
> > the invalid sample rate instead of returning an error. This allows the
> > sample rate to be decoded in certain cases.
> >
> > Fixes Trac Ticket #11361.
> > ---
> > libavformat/riffdec.c | 7 +++++--
> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
> > index b7a85a6ab2..1f4cacf1d5 100644
> > --- a/libavformat/riffdec.c
> > +++ b/libavformat/riffdec.c
> > @@ -180,9 +180,12 @@ int ff_get_wav_header(void *logctx, AVIOContext *pb,
> > par->bit_rate = bitrate;
> >
> > if (par->sample_rate <= 0) {
> > - av_log(logctx, AV_LOG_ERROR,
> > + int strict = ((AVFormatContext*)logctx)->strict_std_compliance >= FF_COMPLIANCE_STRICT;
>
> You should change the type in the function declaration, not cast it here.
Should I change the function declaration in a separate patch?
Thanks,
Viraaj
>
> Thanks,
> Marton
>
> > + av_log(logctx, strict ? AV_LOG_ERROR : AV_LOG_WARNING,
> > "Invalid sample rate: %d\n", par->sample_rate);
> > - return AVERROR_INVALIDDATA;
> > + if (strict)
> > + return AVERROR_INVALIDDATA;
> > + par->sample_rate = 0;
> > }
> > if (par->codec_id == AV_CODEC_ID_AAC_LATM) {
> > /* Channels and sample_rate values are those prior to applying SBR
> > --
> > 2.39.5
> >
> > _______________________________________________
> > 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".
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3] avformat/riffdec: warn on invalid sample rate
2025-01-31 2:48 ` Viraaj Raulgaonkar
@ 2025-01-31 10:04 ` Marton Balint
2025-02-01 9:56 ` Viraaj Raulgaonkar
0 siblings, 1 reply; 5+ messages in thread
From: Marton Balint @ 2025-01-31 10:04 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Fri, 31 Jan 2025, Viraaj Raulgaonkar wrote:
> On Fri, Jan 31, 2025 at 4:49 AM Marton Balint <cus@passwd.hu> wrote:
>>
>>
>>
>> On Thu, 30 Jan 2025, Viraaj Raulgaonkar wrote:
>>
>> > If std_strict_compliance < FF_COMPLIANCE_STRICT, then warn the user of
>> > the invalid sample rate instead of returning an error. This allows the
>> > sample rate to be decoded in certain cases.
>> >
>> > Fixes Trac Ticket #11361.
>> > ---
>> > libavformat/riffdec.c | 7 +++++--
>> > 1 file changed, 5 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
>> > index b7a85a6ab2..1f4cacf1d5 100644
>> > --- a/libavformat/riffdec.c
>> > +++ b/libavformat/riffdec.c
>> > @@ -180,9 +180,12 @@ int ff_get_wav_header(void *logctx, AVIOContext *pb,
>> > par->bit_rate = bitrate;
>> >
>> > if (par->sample_rate <= 0) {
>> > - av_log(logctx, AV_LOG_ERROR,
>> > + int strict = ((AVFormatContext*)logctx)->strict_std_compliance >= FF_COMPLIANCE_STRICT;
>>
>> You should change the type in the function declaration, not cast it here.
>
> Should I change the function declaration in a separate patch?
The most clean way would be to change the type of logctx and also rename
"logctx" it to "s" (a common variable name for an AVFormatContext) in the
first patch, then do the sample rate change in the second patch.
Regards,
Marton
>
> Thanks,
> Viraaj
>
>>
>> Thanks,
>> Marton
>>
>> > + av_log(logctx, strict ? AV_LOG_ERROR : AV_LOG_WARNING,
>> > "Invalid sample rate: %d\n", par->sample_rate);
>> > - return AVERROR_INVALIDDATA;
>> > + if (strict)
>> > + return AVERROR_INVALIDDATA;
>> > + par->sample_rate = 0;
>> > }
>> > if (par->codec_id == AV_CODEC_ID_AAC_LATM) {
>> > /* Channels and sample_rate values are those prior to applying SBR
>> > --
>> > 2.39.5
>> >
>> > _______________________________________________
>> > 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".
> _______________________________________________
> 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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3] avformat/riffdec: warn on invalid sample rate
2025-01-31 10:04 ` Marton Balint
@ 2025-02-01 9:56 ` Viraaj Raulgaonkar
0 siblings, 0 replies; 5+ messages in thread
From: Viraaj Raulgaonkar @ 2025-02-01 9:56 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Fri, Jan 31, 2025 at 3:33 PM Marton Balint <cus@passwd.hu> wrote:
>
>
>
> On Fri, 31 Jan 2025, Viraaj Raulgaonkar wrote:
>
> > On Fri, Jan 31, 2025 at 4:49 AM Marton Balint <cus@passwd.hu> wrote:
> >>
> >>
> >>
> >> On Thu, 30 Jan 2025, Viraaj Raulgaonkar wrote:
> >>
> >> > If std_strict_compliance < FF_COMPLIANCE_STRICT, then warn the user of
> >> > the invalid sample rate instead of returning an error. This allows the
> >> > sample rate to be decoded in certain cases.
> >> >
> >> > Fixes Trac Ticket #11361.
> >> > ---
> >> > libavformat/riffdec.c | 7 +++++--
> >> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >> >
> >> > diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
> >> > index b7a85a6ab2..1f4cacf1d5 100644
> >> > --- a/libavformat/riffdec.c
> >> > +++ b/libavformat/riffdec.c
> >> > @@ -180,9 +180,12 @@ int ff_get_wav_header(void *logctx, AVIOContext *pb,
> >> > par->bit_rate = bitrate;
> >> >
> >> > if (par->sample_rate <= 0) {
> >> > - av_log(logctx, AV_LOG_ERROR,
> >> > + int strict = ((AVFormatContext*)logctx)->strict_std_compliance >= FF_COMPLIANCE_STRICT;
> >>
> >> You should change the type in the function declaration, not cast it here.
> >
> > Should I change the function declaration in a separate patch?
>
> The most clean way would be to change the type of logctx and also rename
> "logctx" it to "s" (a common variable name for an AVFormatContext) in the
> first patch, then do the sample rate change in the second patch.
Ok, I'll separate the patches and submit them for review.
Thanks,
Viraaj
>
> Regards,
> Marton
>
>
> >
> > Thanks,
> > Viraaj
> >
> >>
> >> Thanks,
> >> Marton
> >>
> >> > + av_log(logctx, strict ? AV_LOG_ERROR : AV_LOG_WARNING,
> >> > "Invalid sample rate: %d\n", par->sample_rate);
> >> > - return AVERROR_INVALIDDATA;
> >> > + if (strict)
> >> > + return AVERROR_INVALIDDATA;
> >> > + par->sample_rate = 0;
> >> > }
> >> > if (par->codec_id == AV_CODEC_ID_AAC_LATM) {
> >> > /* Channels and sample_rate values are those prior to applying SBR
> >> > --
> >> > 2.39.5
> >> >
> >> > _______________________________________________
> >> > 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".
> > _______________________________________________
> > 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".
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-02-01 9:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-30 16:24 [FFmpeg-devel] [PATCH v3] avformat/riffdec: warn on invalid sample rate Viraaj Raulgaonkar
2025-01-30 23:19 ` Marton Balint
2025-01-31 2:48 ` Viraaj Raulgaonkar
2025-01-31 10:04 ` Marton Balint
2025-02-01 9:56 ` Viraaj Raulgaonkar
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