On Mon, Feb 03, 2025 at 09:54:58AM +0530, Viraaj Raulgaonkar wrote: > If strict_std_compliance < FF_COMPLIANCE_STRICT, warn the user of the > invalid sample rate instead of returning an error. In certain cases the > sample rate can get decoded later on. > > 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 2b269b1682..a3eee43a41 100644 > --- a/libavformat/riffdec.c > +++ b/libavformat/riffdec.c > @@ -180,9 +180,12 @@ int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb, > par->bit_rate = bitrate; > > if (par->sample_rate <= 0) { > - av_log(s, AV_LOG_ERROR, > + int strict = s->strict_std_compliance >= FF_COMPLIANCE_STRICT; > + av_log(s, strict ? AV_LOG_ERROR : AV_LOG_WARNING, > "Invalid sample rate: %d\n", par->sample_rate); > - return AVERROR_INVALIDDATA; > + if (strict) > + return AVERROR_INVALIDDATA; The specification uses a DWORD, which is unsigned, so strict_std_compliance is not strictly correct as teh specification allows values that fall outside int32_t its libavformat that doesnt suppport that thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Dictatorship: All citizens are under surveillance, all their steps and actions recorded, for the politicians to enforce control. Democracy: All politicians are under surveillance, all their steps and actions recorded, for the citizens to enforce control.