From: Anton Khirnov Date: Fri, 24 Jun 2011 05:58:16 +0000 (+0200) Subject: lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format. X-Git-Tag: v0.8b1~2274 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f731c4429e1fe66a5c92ff15feb63253a36d8fb;p=platform%2Fupstream%2Flibav.git lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format. av_open_input_stream used to allow this, even though it makes no sense. Make it just print a warning instead of failing, thus restoring compatibility. Note that avformat_open_input() will still reject this combination. Signed-off-by: Anton Khirnov --- diff --git a/libavformat/utils.c b/libavformat/utils.c index 92debd540..de26a1886 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -459,9 +459,14 @@ int av_open_input_stream(AVFormatContext **ic_ptr, err = AVERROR(ENOMEM); goto fail; } - ic->pb = pb; + if (pb && fmt && fmt->flags & AVFMT_NOFILE) + av_log(ic, AV_LOG_WARNING, "Custom AVIOContext makes no sense and " + "will be ignored with AVFMT_NOFILE format.\n"); + else + ic->pb = pb; err = avformat_open_input(&ic, filename, fmt, &opts); + ic->pb = ic->pb ? ic->pb : pb; // don't leak custom pb if it wasn't set above *ic_ptr = ic; fail: