On Tue, Aug 24, 2021 at 09:43:43AM -0400, Olivier Crête wrote: > From: Stéphane Cerveau <scerv...@collabora.com> > > Consider data as invalid if ff_wma_run_level_decode > gets out with an error. > > It avoids an unpleasant sound distorsion. > > See http://trac.ffmpeg.org/ticket/9358 > --- > libavcodec/wmadec.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c > index d627bbe50e..d43fe239ce 100644 > --- a/libavcodec/wmadec.c > +++ b/libavcodec/wmadec.c > @@ -601,15 +601,18 @@ static int wma_decode_block(WMACodecContext *s) > if (s->channel_coded[ch]) { > int tindex; > WMACoef *ptr = &s->coefs1[ch][0]; > + int ret; > > /* special VLC tables are used for ms stereo because > * there is potentially less energy there */ > tindex = (ch == 1 && s->ms_stereo); > memset(ptr, 0, s->block_len * sizeof(WMACoef)); > - ff_wma_run_level_decode(s->avctx, &s->gb, &s->coef_vlc[tindex], > - s->level_table[tindex], > s->run_table[tindex], > - 0, ptr, 0, nb_coefs[ch], > - s->block_len, s->frame_len_bits, > coef_nb_bits); > + ret = ff_wma_run_level_decode(s->avctx, &s->gb, > &s->coef_vlc[tindex], > + s->level_table[tindex], > s->run_table[tindex], > + 0, ptr, 0, nb_coefs[ch], > + s->block_len, s->frame_len_bits, > coef_nb_bits); > + if (ret < 0) > + return ret; > } > if (s->version == 1 && s->avctx->channels >= 2) > align_get_bits(&s->gb);
Does this just discard the packet or replace by silence ? if it discards it, it can cause problems with av-sync [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Observe your enemies, for they first find out your faults. -- Antisthenes
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".