X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Flibzmpeg3%2Faudio%2Flayer3.C;h=984bb053609bc1d7d92f2ea955734a3ab17d0dc5;hb=e919ce8a71cdc99bb7344cc192e13a2c2db9e1c0;hp=c9b2bd1e6f03e2da32079a7be7761a4e9518d63c;hpb=2d99bb8ce591f05a31464b517d85dc2bc35b2abe;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/libzmpeg3/audio/layer3.C b/cinelerra-5.0/libzmpeg3/audio/layer3.C index c9b2bd1e..984bb053 100644 --- a/cinelerra-5.0/libzmpeg3/audio/layer3.C +++ b/cinelerra-5.0/libzmpeg3/audio/layer3.C @@ -439,10 +439,15 @@ dequantize_sample(float xr[SBLIMIT][SSLIMIT], int *scf, while( xrpnt < &xr[SBLIMIT][0] ) *xrpnt++ = 0.0; + if( -part2remain > num ) + num = -part2remain; part2remain += num; - stream->start_reverse(); - stream->get_bits_reverse(num); - stream->start_forward(); + + if( num > 0 ) { + stream->start_reverse(); + stream->get_bits_reverse(num); + stream->start_forward(); + } //zmsgs("3 %d %04x\n", stream->bit_number, stream->show_bits(16)); while( part2remain > 16 ) {