diff --git a/libavformat/rtp_aac.c b/libavformat/rtp_aac.c index b597bb16b4..e19b28697e 100644 --- a/libavformat/rtp_aac.c +++ b/libavformat/rtp_aac.c @@ -66,14 +66,16 @@ void ff_rtp_send_aac(AVFormatContext *s1, const uint8_t *buff, int size) memcpy(s->buf_ptr, buff, size); s->buf_ptr += size; } else { + int au_size = size; + max_packet_size = s->max_payload_size - 4; p = s->buf; p[0] = 0; p[1] = 16; while (size > 0) { len = FFMIN(size, max_packet_size); - p[2] = len >> 5; - p[3] = (size & 0x1F) << 3; + p[2] = au_size >> 5; + p[3] = (au_size & 0x1F) << 3; memcpy(p + 4, buff, len); ff_rtp_send_data(s1, p, len + 4, len == size); size -= len;