It's not valid to call avio_close() on context that has not been open with avio_open().
This fixes use of custom IO. (io_open / io_close2 callbacks) Note that by default io_close2 is set to io_close2_default() which calls avio_close(), so default case will work the same as before. Signed-off-by: Kacper Michajłow <kaspe...@gmail.com> --- libavformat/demux.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavformat/demux.c b/libavformat/demux.c index 2795863567..ecd4f40da9 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -383,11 +383,10 @@ void avformat_close_input(AVFormatContext **ps) if (ffifmt(s->iformat)->read_close) ffifmt(s->iformat)->read_close(s); + ff_format_io_close(s, &pb); avformat_free_context(s); *ps = NULL; - - avio_close(pb); } static void force_codec_ids(AVFormatContext *s, AVStream *st) -- 2.45.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".