1
0
mirror of https://github.com/dguglielmi/sunny-overlay.git synced 2025-12-06 13:52:40 +01:00
Files
sunny-overlay/media-tv/kodi/files/kodi-20.3-fix-crash-in-avcodec_parameters_from_context.patch

37 lines
1.3 KiB
Diff

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);
}