diff --git a/libswresample/swresample.c b/libswresample/swresample.c
index 6d13bc5e2d4f7b6ffd21d8efc85744dcc043de22..76b7a84956f3c652f77a8f5b9cf41726f572857c 100644
--- a/libswresample/swresample.c
+++ b/libswresample/swresample.c
@@ -23,6 +23,7 @@
 #include "audioconvert.h"
 #include "libavutil/avassert.h"
 #include "libavutil/channel_layout.h"
+#include "libavutil/internal.h"
 
 #include <float.h>
 
@@ -663,8 +664,8 @@ int swr_is_initialized(struct SwrContext *s) {
     return !!s->in_buffer.ch_count;
 }
 
-int swr_convert(struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int out_count,
-                                const uint8_t *in_arg [SWR_CH_MAX], int  in_count){
+int attribute_align_arg swr_convert(struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int out_count,
+                                                    const uint8_t *in_arg [SWR_CH_MAX], int  in_count){
     AudioData * in= &s->in;
     AudioData *out= &s->out;