Support fragmentation for AAC frames

Originally committed as revision 10492 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Luca Abeni 2007-09-14 09:00:31 +00:00
parent 171dce486c
commit 1a3a0a79b6
1 changed files with 17 additions and 1 deletions

View File

@ -67,6 +67,22 @@ void ff_rtp_send_aac(AVFormatContext *s1, const uint8_t *buff, int size)
memcpy(s->buf_ptr, buff, size);
s->buf_ptr += size;
} else {
av_log(s1, AV_LOG_ERROR, "Unsupported!\n");
if (s->buf_ptr != s->buf + MAX_AU_HEADERS_SIZE) {
av_log(s1, AV_LOG_ERROR, "Strange...\n");
av_abort();
}
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;
memcpy(p + 4, buff, len);
ff_rtp_send_data(s1, p, len + 4, len == size);
size -= len;
buff += len;
}
}
}