Correctly set the "AU size" field in the payload header for

fragmented AAC frames

Originally committed as revision 18984 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Luca Abeni 16 years ago
parent 8c57662001
commit 6f62e2c72d
  1. 6
      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;

Loading…
Cancel
Save