Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [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