diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index 9cddf4b4b0..7eb8ea82eb 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -758,8 +758,7 @@ static av_cold int wavpack_decode_end(AVCodecContext *avctx) } static int wavpack_decode_block(AVCodecContext *avctx, int block_no, - uint8_t **data, int *got_frame_ptr, - const uint8_t *buf, int buf_size) + uint8_t **data, const uint8_t *buf, int buf_size) { WavpackContext *wc = avctx->priv_data; WavpackFrameContext *s; @@ -1139,8 +1138,6 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no, memcpy(samples_r, samples_l, bpp * s->samples); } - *got_frame_ptr = 1; - return 0; } @@ -1225,7 +1222,7 @@ static int wavpack_decode_frame(AVCodecContext *avctx, void *data, return AVERROR_INVALIDDATA; } if ((ret = wavpack_decode_block(avctx, s->block, - frame->extended_data, got_frame_ptr, + frame->extended_data, buf, frame_size)) < 0) { wavpack_decode_flush(avctx); return ret; @@ -1235,6 +1232,8 @@ static int wavpack_decode_frame(AVCodecContext *avctx, void *data, buf_size -= frame_size; } + *got_frame_ptr = 1; + return avpkt->size; }