ffmpeg | branch: master | Pavel Koshevoy <pkoshe...@gmail.com> | Fri Jun 27 19:31:26 2025 -0600| [59a6660625675c8343f3de858b93c8294f05bb52] | committer: Pavel Koshevoy
avformat/demux: Fix segfault due to avcodec_open2 failure Fixes 'ffprobe 1_poc.mp4' segfault introduced with commit 0021484d05f9b0f032fa319399de6e24eea0c04f codec_close should not assume that the codec_id did not change. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=59a6660625675c8343f3de858b93c8294f05bb52 --- libavformat/demux.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavformat/demux.c b/libavformat/demux.c index ecd4f40da9..3749ab67a3 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -1292,9 +1292,15 @@ static int codec_close(FFStream *sti) { AVCodecContext *avctx_new = NULL; AVCodecParameters *par_tmp = NULL; + const AVCodec *new_codec = NULL; int ret; - avctx_new = avcodec_alloc_context3(sti->avctx->codec); + new_codec = + (sti->avctx->codec_id != sti->pub.codecpar->codec_id) ? + avcodec_find_decoder(sti->pub.codecpar->codec_id) : + sti->avctx->codec; + + avctx_new = avcodec_alloc_context3(new_codec); if (!avctx_new) { ret = AVERROR(ENOMEM); goto fail; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".