diff --git a/libavcodec/dtsdec.c b/libavcodec/dtsdec.c index 128d60f9ba..fb1d50c10e 100644 --- a/libavcodec/dtsdec.c +++ b/libavcodec/dtsdec.c @@ -208,8 +208,6 @@ dts_decode_frame (AVCodecContext *avctx, void *data, int *data_size, { uint8_t * start = buff; uint8_t * end = buff + buff_size; - *data_size = 0; - static uint8_t buf[BUFFER_SIZE]; static uint8_t * bufptr = buf; static uint8_t * bufpos = buf + HEADER_SIZE; @@ -221,6 +219,8 @@ dts_decode_frame (AVCodecContext *avctx, void *data, int *data_size, int len; dts_state_t *state = avctx->priv_data; + *data_size = 0; + while (1) { len = end - start;