[vlc-commits] [Git][videolan/vlc][master] contrib: matroska: expand FrameNum after reading

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri May 15 14:21:25 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
6032a6a8 by Steve Lhomme at 2026-05-15T13:08:37+00:00
contrib: matroska: expand FrameNum after reading

Fixes #29834

- - - - -


2 changed files:

- + contrib/src/matroska/0001-KaxBlock-expand-FrameNum-after-reading.patch
- contrib/src/matroska/rules.mak


Changes:

=====================================
contrib/src/matroska/0001-KaxBlock-expand-FrameNum-after-reading.patch
=====================================
@@ -0,0 +1,41 @@
+From fd4cfd9f04fa6fba4f1ac9ecc9b68930e40056ec Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Tue, 12 May 2026 07:59:51 +0200
+Subject: [PATCH] KaxBlock: expand FrameNum after reading
+
+It's read as a uint8_t. Adding 1 to 255 would end up being 0.
+---
+ src/KaxBlock.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/KaxBlock.cpp b/src/KaxBlock.cpp
+index 7bcc879..b3f2a84 100644
+--- a/src/KaxBlock.cpp
++++ b/src/KaxBlock.cpp
+@@ -496,9 +496,9 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
+       } else {
+         // read the number of frames in the lace
+         uint32 LastBufferSize = GetSize() - BlockHeadSize - 1; // 1 for number of frame
+-        const uint8 FrameNum = Mem.GetUInt8(); // number of frames in the lace - 1
++        const unsigned FrameNum = Mem.GetUInt8(); // number of frames in the lace - 1
+         // read the list of frame sizes
+-        uint8 Index;
++        unsigned Index;
+         int32 FrameSize;
+         uint32 SizeRead;
+         uint64 SizeUnknown;
+@@ -628,9 +628,9 @@ filepos_t KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
+         // read the number of frames in the lace
+         const uint32 TotalLacedSize = GetSize() - BlockHeadSize - 1; // 1 for number of frame
+         uint32 LastBufferSize = TotalLacedSize;
+-        const uint8 FrameNum = _TempHead[0]; // number of frames in the lace - 1
++        const unsigned FrameNum = _TempHead[0]; // number of frames in the lace - 1
+         // read the list of frame sizes
+-        uint8 Index;
++        unsigned Index;
+         uint32 FrameSize;
+         uint32 SizeRead;
+         uint64 SizeUnknown;
+-- 
+2.52.0.windows.1
+


=====================================
contrib/src/matroska/rules.mak
=====================================
@@ -24,6 +24,7 @@ matroska: libmatroska-$(MATROSKA_VERSION).tar.xz .sum-matroska
 	$(APPLY) $(SRC)/matroska/0001-KaxBlock-rework-EBML-lacing-sizes-in-SCOPE_PARTIAL_D.patch
 	$(APPLY) $(SRC)/matroska/0002-KaxBlock-throw-when-the-EBML-length-difference-gives.patch
 	$(APPLY) $(SRC)/matroska/0003-KaxBlock-fix-reading-EBML-lacing-with-just-one-frame.patch
+	$(APPLY) $(SRC)/matroska/0001-KaxBlock-expand-FrameNum-after-reading.patch
 	$(MOVE)
 
 .matroska: matroska toolchain.cmake



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6032a6a89ad4a11fe0b1d7745d5f948e41380d86

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/6032a6a89ad4a11fe0b1d7745d5f948e41380d86
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list