From 86fe8b6251b3031ad20e3d1c9b3001054e2603c8 Mon Sep 17 00:00:00 2001 From: Steve Lhomme Date: Sun, 6 Sep 2020 09:37:16 +0200 Subject: [PATCH] Do not allow writing KaxTrackTimecodeScale anymore This is deprecated in v3 and likely never worked as it requires improper (scaled) muxing or demuxing needs a growing buffer to counter the timestamps shifts between tracks. TrackAttachmentLink is another element that was allowed until Matroska v3 but is not allowed to be written anymore. --- matroska/KaxSemantic.h | 2 ++ src/KaxSemantic.cpp | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/matroska/KaxSemantic.h b/matroska/KaxSemantic.h index a59a38c..a5a30a5 100644 --- a/matroska/KaxSemantic.h +++ b/matroska/KaxSemantic.h @@ -249,6 +249,8 @@ DECLARE_MKX_UINTEGER(KaxTrackDefaultDecodedFieldDuration) }; DECLARE_MKX_FLOAT(KaxTrackTimecodeScale) +public: + filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault); }; DECLARE_MKX_SINTEGER(KaxTrackOffset) diff --git a/src/KaxSemantic.cpp b/src/KaxSemantic.cpp index f58be60..c94754f 100644 --- a/src/KaxSemantic.cpp +++ b/src/KaxSemantic.cpp @@ -776,6 +776,11 @@ filepos_t KaxEncryptedBlock::RenderData(IOCallback & /* output */, bool /* bForc return 0; } +filepos_t KaxTrackTimecodeScale::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) { + assert(false); // no you are not allowed to use this element ! + return 0; +} + filepos_t KaxTrackOffset::RenderData(IOCallback & /* output */, bool /* bForceRender */, bool /* bSaveDefault */) { assert(false); // no you are not allowed to use this element ! return 0; -- 2.50.1