[soc]: r4151 - wmapro/wma3dec.c
Author: faust3 Date: Tue Mar 3 21:25:50 2009 New Revision: 4151 Log: always copy the input buffer to a temporary buffer before starting the decoding Modified: wmapro/wma3dec.c Modified: wmapro/wma3dec.c ============================================================================== --- wmapro/wma3dec.c Tue Mar 3 20:59:51 2009 (r4150) +++ wmapro/wma3dec.c Tue Mar 3 21:25:50 2009 (r4151) @@ -1600,9 +1600,14 @@ static int wma3_decode_packet(AVCodecCon /** there is enough data for a full frame */ if(remaining_bits(s,&gb) >= frame_size){ + GetBitContext gb_prev; + s->prev_packet_bit_size = 0; + save_bits(s,&gb,frame_size); + init_get_bits(&gb_prev, s->frame_data, + s->prev_packet_bit_size); /** decode the frame */ - more_frames = wma_decode_frame(s,&gb); + more_frames = wma_decode_frame(s,&gb_prev); if(!more_frames){ av_log(avctx, AV_LOG_DEBUG, "no more frames\n"); @@ -1612,6 +1617,7 @@ static int wma3_decode_packet(AVCodecCon } if(!s->packet_loss){ + s->prev_packet_bit_size = 0; /** save the rest of the data so that it can be decoded with the next packet */ save_bits(s,&gb,remaining_bits(s,&gb));
participants (1)
-
faust3