You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-04 22:03:09 +02:00
avformat/demux: use io_close2 when closing avfromat
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 <kasper93@gmail.com> Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
committed by
Michael Niedermayer
parent
5030564376
commit
1a7e802c8f
@ -383,11 +383,10 @@ void avformat_close_input(AVFormatContext **ps)
|
|||||||
if (ffifmt(s->iformat)->read_close)
|
if (ffifmt(s->iformat)->read_close)
|
||||||
ffifmt(s->iformat)->read_close(s);
|
ffifmt(s->iformat)->read_close(s);
|
||||||
|
|
||||||
|
ff_format_io_close(s, &pb);
|
||||||
avformat_free_context(s);
|
avformat_free_context(s);
|
||||||
|
|
||||||
*ps = NULL;
|
*ps = NULL;
|
||||||
|
|
||||||
avio_close(pb);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void force_codec_ids(AVFormatContext *s, AVStream *st)
|
static void force_codec_ids(AVFormatContext *s, AVStream *st)
|
||||||
|
Reference in New Issue
Block a user