From 3ad9588656e30abd421e48147b23aee9fb4b3557 Mon Sep 17 00:00:00 2001 From: Miguel Borges de Freitas <92enen@gmail.com> Date: Sun, 12 Feb 2023 12:08:36 +0000 Subject: [PATCH] [video] fix crash in avcodec_parameters_from_context --- xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp index 9ca07b9a2dd39..26fa9522eea7a 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp @@ -162,11 +162,12 @@ bool CDVDDemuxClient::ParsePacket(DemuxPacket* pkt) avpkt->size = pkt->iSize; avpkt->dts = avpkt->pts = AV_NOPTS_VALUE; - AVCodecParameters* codecPar = nullptr; + AVCodecParameters* codecPar = avcodec_parameters_alloc(); int ret = avcodec_parameters_from_context(codecPar, stream->m_context); if (ret < 0) { CLog::LogF(LOGERROR, "avcodec_parameters_from_context failed"); + avcodec_parameters_free(&codecPar); return false; } @@ -188,7 +189,7 @@ bool CDVDDemuxClient::ParsePacket(DemuxPacket* pkt) avcodec_close(stream->m_context); } } - + avcodec_parameters_free(&codecPar); av_packet_free(&avpkt); }