44 uint32_t *timestamp,
const uint8_t *buf,
49 int packing_scheme, has_payload_desc, has_packet_info, alen,
80 if ((packing_scheme =
get_bits(&gb, 2)) == 0)
88 if (has_payload_desc) {
89 int data_len, pos, is_start, is_finish;
99 if (!is_start || !is_finish) {
101 "split over several packets", 1);
110 tag !=
MKTAG(
'v',
'i',
'd',
'e')) ||
112 tag !=
MKTAG(
's',
'o',
'u',
'n')))
116 if (pos + data_len > len)
119 while (
avio_tell(&pb) + 4 < pos + data_len) {
122 if (
avio_tell(&pb) + tlv_len > pos + data_len)
125 #define MKTAG16(a,b) MKTAG(a,b,0,0)
163 if (has_packet_info) {
172 switch (packing_scheme) {
188 if (has_marker_bit) {
243 #define RTP_QT_HANDLER(m, n, s, t) \
244 RTPDynamicProtocolHandler ff_ ## m ## _rtp_ ## n ## _handler = { \
247 .codec_id = AV_CODEC_ID_NONE, \
248 .alloc = qt_rtp_new, \
249 .free = qt_rtp_free, \
250 .parse_packet = qt_rtp_parse_packet, \