@@ -103,7 +103,6 @@ typedef struct WavpackContext {
WavpackFrameContext **fdec;
int fdec_num;
- int block;
int samples;
int ch_offset;
@@ -1638,14 +1637,13 @@ static int wavpack_decode_frame(AVCodecContext *avctx, AVFrame *frame,
const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
int frame_size, ret, frame_flags;
- int new_progress = 0;
+ int block = 0, new_progress = 0;
av_assert1(!s->curr_progress || s->dsdctx);
if (avpkt->size <= WV_HEADER_SIZE)
return AVERROR_INVALIDDATA;
- s->block = 0;
s->ch_offset = 0;
/* determine number of samples */
@@ -1666,14 +1664,15 @@ static int wavpack_decode_frame(AVCodecContext *avctx, AVFrame *frame,
if (frame_size <= 0 || frame_size > buf_size) {
av_log(avctx, AV_LOG_ERROR,
"Block %d has invalid size (size %d vs. %d bytes left)\n",
- s->block, frame_size, buf_size);
+ block, frame_size, buf_size);
ret = AVERROR_INVALIDDATA;
goto error;
}
- ret = wavpack_decode_block(avctx, frame, s->block, buf, frame_size, &new_progress);
+ ret = wavpack_decode_block(avctx, frame, block, buf,
+ frame_size, &new_progress);
if (ret < 0)
goto error;
- s->block++;
+ block++;
buf += frame_size;
buf_size -= frame_size;
}
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/wavpack.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)