diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 1d1074aa7ddc2f0804f488750e9daae8dd816e88..d96bf67c30d4033e32c6f2ed5fb9cb74c44a758a 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -1460,7 +1460,7 @@ static void seek_to_maindata(MPADecodeContext *s, unsigned int backstep) uint8_t *ptr; /* compute current position in stream */ - ptr = s->gb.buffer + (get_bits_count(&s->gb)>>3); + ptr = (uint8_t *)(s->gb.buffer + (get_bits_count(&s->gb)>>3)); /* copy old data before current one */ ptr -= backstep; @@ -2376,7 +2376,7 @@ static int decode_frame(AVCodecContext * avctx, if (check_header(header) < 0) { /* no sync found : move by one byte (inefficient, but simple!) */ - memcpy(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1); + memmove(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1); s->inbuf_ptr--; dprintf("skip %x\n", header); /* reset free format frame size to give a chance @@ -2402,7 +2402,7 @@ static int decode_frame(AVCodecContext * avctx, if (len == 0) { /* frame too long: resync */ s->frame_size = 0; - memcpy(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1); + memmove(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1); s->inbuf_ptr--; } else { uint8_t *p, *pend;