Hi, On Sat, Dec 17, 2011 at 9:46 AM, Mans Rullgard <[email protected]> wrote:
> The buffer splicing relies on the bitstream reader over-reading > the end of the buffer as declared in init_get_bits(), although > more data is actually present. Manually moving the bitstream > boundary after init_get_bits() allows this to work as expected. > > Signed-off-by: Mans Rullgard <[email protected]> > --- > libavcodec/mpegaudiodec.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c > index eeef470..0c8f9c7 100644 > --- a/libavcodec/mpegaudiodec.c > +++ b/libavcodec/mpegaudiodec.c > @@ -1548,6 +1548,9 @@ static int mp_decode_layer3(MPADecodeContext *s) > memcpy(s->last_buf + s->last_buf_size, ptr, EXTRABYTES); > s->in_gb = s->gb; > init_get_bits(&s->gb, s->last_buf, s->last_buf_size*8); > +#if CONFIG_SAFE_BITSTREAM_READER > + s->gb.size_in_bits_plus8 += EXTRABYTES * 8; > +#endif > skip_bits_long(&s->gb, 8*(s->last_buf_size - main_data_begin)); > } OK. Ronald
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
