Fix two problems (no idea how this ever worked):

- the return value of url_open_dyn_*buf() is 0 on success, so using
   if (!(res = url_open_dyn_*buf())) return res; is not going to work
- url_open_dyn_packet_buf actually writes the max_packet_size before
   each piece of data. Feeding this to the ASF demuxer will never work.
   Therefore, use url_open_dyn_buf() instead.

Originally committed as revision 21853 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Ronald S. Bultje 15 years ago
parent 4abd85141c
commit a636b58ce1
  1. 2
      libavformat/rtp_asf.c

@ -196,7 +196,7 @@ static int asfrtp_parse_packet(AVFormatContext *s, PayloadContext *asf,
av_free(p);
}
if (!len_off && !asf->pktbuf &&
!(res = url_open_dyn_packet_buf(&asf->pktbuf, rt->asf_ctx->packet_size)))
(res = url_open_dyn_buf(&asf->pktbuf)) < 0)
return res;
if (!asf->pktbuf)
return AVERROR(EIO);

Loading…
Cancel
Save