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 <anton@khirnov.net>
This commit is contained in:
Anton Khirnov 2011-06-24 07:58:16 +02:00
parent 5001d6ef4a
commit 4f731c4429
1 changed files with 6 additions and 1 deletions

View File

@ -459,9 +459,14 @@ int av_open_input_stream(AVFormatContext **ic_ptr,
err = AVERROR(ENOMEM); err = AVERROR(ENOMEM);
goto fail; goto fail;
} }
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; ic->pb = pb;
err = avformat_open_input(&ic, filename, fmt, &opts); 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; *ic_ptr = ic;
fail: fail: