diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
index 2a3e3358b8a9d6fe5e972d5f5dd4d8523f4bb80a..81b310f2976e3041ac0e9a9e10ea3875f32eb32c 100644
--- a/libavcodec/wavpack.c
+++ b/libavcodec/wavpack.c
@@ -632,7 +632,7 @@ static inline int wv_unpack_stereo(WavpackFrameContext *s, GetBitContext *gb,
         wv_check_crc(s, crc, crc_extra_bits))
         return AVERROR_INVALIDDATA;
 
-    return count * 2;
+    return 0;
 }
 
 static inline int wv_unpack_mono(WavpackFrameContext *s, GetBitContext *gb,
@@ -693,7 +693,7 @@ static inline int wv_unpack_mono(WavpackFrameContext *s, GetBitContext *gb,
         wv_check_crc(s, crc, crc_extra_bits))
         return AVERROR_INVALIDDATA;
 
-    return count;
+    return 0;
 }
 
 static av_cold int wv_alloc_frame_context(WavpackContext *c)
@@ -759,7 +759,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
     WavpackFrameContext *s;
     GetByteContext gb;
     void *samples_l, *samples_r;
-    int samplecount;
+    int ret;
     int got_terms   = 0, got_weights = 0, got_samples = 0,
         got_entropy = 0, got_bs      = 0, got_float   = 0, got_hybrid = 0;
     int i, j, id, size, ssize, weights, t;
@@ -1123,13 +1123,13 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
     }
 
     if (s->stereo_in) {
-        samplecount = wv_unpack_stereo(s, &s->gb, samples_l, samples_r, avctx->sample_fmt);
-        if (samplecount < 0)
-            return samplecount;
+        ret = wv_unpack_stereo(s, &s->gb, samples_l, samples_r, avctx->sample_fmt);
+        if (ret < 0)
+            return ret;
     } else {
-        samplecount = wv_unpack_mono(s, &s->gb, samples_l, avctx->sample_fmt);
-        if (samplecount < 0)
-            return samplecount;
+        ret = wv_unpack_mono(s, &s->gb, samples_l, avctx->sample_fmt);
+        if (ret < 0)
+            return ret;
 
         if (s->stereo)
             memcpy(samples_r, samples_l, bpp * s->samples);
@@ -1137,7 +1137,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
 
     *got_frame_ptr = 1;
 
-    return samplecount * bpp;
+    return 0;
 }
 
 static void wavpack_decode_flush(AVCodecContext *avctx)
@@ -1157,7 +1157,6 @@ static int wavpack_decode_frame(AVCodecContext *avctx, void *data,
     int buf_size       = avpkt->size;
     AVFrame *frame     = data;
     int frame_size, ret, frame_flags;
-    int samplecount = 0;
 
     if (avpkt->size < 12 + s->multichannel * 4)
         return AVERROR_INVALIDDATA;
@@ -1222,11 +1221,11 @@ static int wavpack_decode_frame(AVCodecContext *avctx, void *data,
             wavpack_decode_flush(avctx);
             return AVERROR_INVALIDDATA;
         }
-        if ((samplecount = wavpack_decode_block(avctx, s->block,
-                                                frame->extended_data, got_frame_ptr,
-                                                buf, frame_size)) < 0) {
+        if ((ret = wavpack_decode_block(avctx, s->block,
+                                        frame->extended_data, got_frame_ptr,
+                                        buf, frame_size)) < 0) {
             wavpack_decode_flush(avctx);
-            return samplecount;
+            return ret;
         }
         s->block++;
         buf      += frame_size;