Revision a2704c97 libavformat/rtpdec_qt.c
libavformat/rtpdec_qt.c | ||
---|---|---|
115 | 115 |
if (pos + data_len > len) |
116 | 116 |
return AVERROR_INVALIDDATA; |
117 | 117 |
/* TLVs */ |
118 |
while (url_ftell(&pb) + 4 < pos + data_len) {
|
|
118 |
while (avio_tell(&pb) + 4 < pos + data_len) {
|
|
119 | 119 |
int tlv_len = avio_rb16(&pb); |
120 | 120 |
tag = avio_rl16(&pb); |
121 |
if (url_ftell(&pb) + tlv_len > pos + data_len)
|
|
121 |
if (avio_tell(&pb) + tlv_len > pos + data_len)
|
|
122 | 122 |
return AVERROR_INVALIDDATA; |
123 | 123 |
|
124 | 124 |
#define MKTAG16(a,b) MKTAG(a,b,0,0) |
... | ... | |
155 | 155 |
} |
156 | 156 |
|
157 | 157 |
/* 32-bit alignment */ |
158 |
avio_seek(&pb, ((url_ftell(&pb) + 3) & ~3) - url_ftell(&pb), SEEK_CUR);
|
|
158 |
avio_seek(&pb, ((avio_tell(&pb) + 3) & ~3) - avio_tell(&pb), SEEK_CUR);
|
|
159 | 159 |
} else |
160 | 160 |
avio_seek(&pb, 4, SEEK_SET); |
161 | 161 |
|
... | ... | |
164 | 164 |
return AVERROR_NOTSUPP; |
165 | 165 |
} |
166 | 166 |
|
167 |
alen = len - url_ftell(&pb);
|
|
167 |
alen = len - avio_tell(&pb);
|
|
168 | 168 |
if (alen <= 0) |
169 | 169 |
return AVERROR_INVALIDDATA; |
170 | 170 |
|
... | ... | |
182 | 182 |
} |
183 | 183 |
if (!qt->pkt.data) |
184 | 184 |
return AVERROR(ENOMEM); |
185 |
memcpy(qt->pkt.data + qt->pkt.size, buf + url_ftell(&pb), alen);
|
|
185 |
memcpy(qt->pkt.data + qt->pkt.size, buf + avio_tell(&pb), alen);
|
|
186 | 186 |
qt->pkt.size += alen; |
187 | 187 |
if (has_marker_bit) { |
188 | 188 |
*pkt = qt->pkt; |
... | ... | |
203 | 203 |
qt->remaining = (alen / qt->bytes_per_frame) - 1; |
204 | 204 |
if (av_new_packet(pkt, qt->bytes_per_frame)) |
205 | 205 |
return AVERROR(ENOMEM); |
206 |
memcpy(pkt->data, buf + url_ftell(&pb), qt->bytes_per_frame);
|
|
206 |
memcpy(pkt->data, buf + avio_tell(&pb), qt->bytes_per_frame);
|
|
207 | 207 |
pkt->flags = flags & RTP_FLAG_KEY ? AV_PKT_FLAG_KEY : 0; |
208 | 208 |
pkt->stream_index = st->index; |
209 | 209 |
if (qt->remaining > 0) { |
... | ... | |
215 | 215 |
} |
216 | 216 |
qt->pkt.size = qt->remaining * qt->bytes_per_frame; |
217 | 217 |
memcpy(qt->pkt.data, |
218 |
buf + url_ftell(&pb) + qt->bytes_per_frame,
|
|
218 |
buf + avio_tell(&pb) + qt->bytes_per_frame,
|
|
219 | 219 |
qt->remaining * qt->bytes_per_frame); |
220 | 220 |
qt->pkt.flags = pkt->flags; |
221 | 221 |
return 1; |
Also available in: Unified diff