From: Steve Lhomme Date: Sun, 10 Nov 2024 09:32:44 +0000 (+0100) Subject: demux: mkv: read data from KaxBlockAdditions as const X-Git-Tag: archive/raspbian/3.0.21-6+rpi1^2~24 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=581c66b079e0803fa32c51cfdf6d132fda4cb199;p=vlc.git demux: mkv: read data from KaxBlockAdditions as const We should not be able to modify what we read. (cherry picked from commit c03249a02c2d1aa529c7c9a6de7545305b567860) (edited) edited: - 3.0 doesn't support VPx alpha Gbp-Pq: Name 0101-demux-mkv-read-data-from-KaxBlockAdditions-as-const.patch --- diff --git a/modules/demux/mkv/mkv.cpp b/modules/demux/mkv/mkv.cpp index cce9e340..c55af78b 100644 --- a/modules/demux/mkv/mkv.cpp +++ b/modules/demux/mkv/mkv.cpp @@ -488,7 +488,7 @@ static int Seek( demux_t *p_demux, vlc_tick_t i_mk_date, double f_percent, virtu /* Needed by matroska_segment::Seek() and Seek */ void BlockDecode( demux_t *p_demux, KaxBlock *block, KaxSimpleBlock *simpleblock, - KaxBlockAdditions *additions, + const KaxBlockAdditions *additions, vlc_tick_t i_pts, int64_t i_duration, bool b_key_picture, bool b_discardable_picture ) { @@ -613,10 +613,10 @@ void BlockDecode( demux_t *p_demux, KaxBlock *block, KaxSimpleBlock *simpleblock size_t i_addition = 0; if(additions) { - KaxBlockMore *blockmore = FindChild(*additions); + auto blockmore = FindChild(*additions); if(blockmore) { - KaxBlockAdditional *addition = FindChild(*blockmore); + auto addition = FindChild(*blockmore); if(addition) { i_addition = static_cast(addition->GetSize()); diff --git a/modules/demux/mkv/mkv.hpp b/modules/demux/mkv/mkv.hpp index 2ea8035f..2a8ad5e9 100644 --- a/modules/demux/mkv/mkv.hpp +++ b/modules/demux/mkv/mkv.hpp @@ -134,7 +134,7 @@ Type * FindNextChild(const EbmlMaster & Master, const Type & PastElt) using namespace LIBMATROSKA_NAMESPACE; void BlockDecode( demux_t *p_demux, KaxBlock *block, KaxSimpleBlock *simpleblock, - KaxBlockAdditions *additions, + const KaxBlockAdditions *additions, vlc_tick_t i_pts, vlc_tick_t i_duration, bool b_key_picture, bool b_discardable_picture );