mirror of https://git.ffmpeg.org/ffmpeg.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 <anton@khirnov.net>
This commit is contained in:
parent
5001d6ef4a
commit
4f731c4429
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue