|
|
@@ -66,14 +66,16 @@ void ff_rtp_send_aac(AVFormatContext *s1, const uint8_t *buff, int size) |
|
|
memcpy(s->buf_ptr, buff, size); |
|
|
memcpy(s->buf_ptr, buff, size); |
|
|
s->buf_ptr += size; |
|
|
s->buf_ptr += size; |
|
|
} else { |
|
|
} else { |
|
|
|
|
|
int au_size = size; |
|
|
|
|
|
|
|
|
max_packet_size = s->max_payload_size - 4; |
|
|
max_packet_size = s->max_payload_size - 4; |
|
|
p = s->buf; |
|
|
p = s->buf; |
|
|
p[0] = 0; |
|
|
p[0] = 0; |
|
|
p[1] = 16; |
|
|
p[1] = 16; |
|
|
while (size > 0) { |
|
|
while (size > 0) { |
|
|
len = FFMIN(size, max_packet_size); |
|
|
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); |
|
|
memcpy(p + 4, buff, len); |
|
|
ff_rtp_send_data(s1, p, len + 4, len == size); |
|
|
ff_rtp_send_data(s1, p, len + 4, len == size); |
|
|
size -= len; |
|
|
size -= len; |
|
|
|