28 #include "libavutil/base64.h"
29 #include "libavutil/avstring.h"
30 #include "libavutil/intreadwrite.h"
57 if (chunksize > end - p)
99 if (
av_strstart(p,
"pgmpu:data:application/vnd.ms.wms-hdr.asfv1;base64,", &p)) {
103 int len = strlen(p) * 6 / 8;
109 "Failed to fix invalid RTSP-MS/ASF min_pktsize\n");
133 if (stream_index < 0)
177 int res, mflags, len_off;
184 int off, out_len = 0;
208 if (!(mflags & 0x40)) {
221 if (!len_off && !asf->
pktbuf &&
242 int cur_len = start_off + len_off -
off;
243 int prev_len = out_len;
246 if (
FFMIN(cur_len, len - off) < 0)
252 memcpy(asf->
buf + prev_len, buf + off,
253 FFMIN(cur_len, len - off));
280 return res == 1 ? -1 : res;
300 #define RTP_ASF_HANDLER(n, s, t) \
301 RTPDynamicProtocolHandler ff_ms_rtp_ ## n ## _handler = { \
304 .codec_id = AV_CODEC_ID_NONE, \
305 .parse_sdp_a_line = asfrtp_parse_sdp_line, \
306 .alloc = asfrtp_new_context, \
307 .free = asfrtp_free_context, \
308 .parse_packet = asfrtp_parse_packet, \