diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index bc83bfdf1d3ba96999292694e8b3539bbac913a4..4656ce12e6ade25a85be112664c1de974e47a199 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -314,7 +314,7 @@ static int tta_decode_frame(AVCodecContext *avctx, void *data,
 
     // decode directly to output buffer for 24-bit sample format
     if (s->bps == 3)
-        s->decode_buffer = s->frame.data[0];
+        s->decode_buffer = (int32_t *)s->frame.data[0];
 
     // init per channel states
     for (i = 0; i < s->channels; i++) {