]> granicus.if.org Git - libmatroska/commitdiff
add BlockAdditionMapping support
authorSteve Lhomme <robux4@ycbcr.xyz>
Sun, 21 Jun 2020 08:40:06 +0000 (10:40 +0200)
committerSteve Lhomme <robux4@ycbcr.xyz>
Sun, 21 Jun 2020 08:43:09 +0000 (10:43 +0200)
matroska/KaxSemantic.h
src/KaxSemantic.cpp

index 65084fbe0eb7746f683e91fdd43c79d64ee77fbb..e4369759eacc924fda60ebb6f1929f4d7f6fcc14 100644 (file)
@@ -268,6 +268,23 @@ public:
 DECLARE_MKX_UINTEGER(KaxMaxBlockAdditionID)
 };
 
+#if MATROSKA_VERSION >= 2
+DECLARE_MKX_MASTER(KaxBlockAdditionMapping)
+};
+
+DECLARE_MKX_UINTEGER(KaxBlockAddIDValue)
+};
+
+DECLARE_MKX_STRING(KaxBlockAddIDName)
+};
+
+DECLARE_MKX_UINTEGER(KaxBlockAddIDType)
+};
+
+DECLARE_MKX_BINARY (KaxBlockAddIDExtraData)
+};
+#endif
+
 DECLARE_MKX_UNISTRING(KaxTrackName)
 };
 
index cab1ac2189e0cec4ddac8a96308d1ffc9a2b12b9..743699d936f15c17a6084216bfa1f341022b5036 100644 (file)
@@ -253,6 +253,9 @@ DEFINE_SEMANTIC_ITEM(true, true, KaxTrackTimecodeScale)
 DEFINE_SEMANTIC_ITEM(false, true, KaxTrackOffset) // not supported
 #endif // MATROSKA_VERSION
 DEFINE_SEMANTIC_ITEM(true, true, KaxMaxBlockAdditionID)
+#if MATROSKA_VERSION >= 2
+DEFINE_SEMANTIC_ITEM(false, false, KaxBlockAdditionMapping)
+#endif // MATROSKA_VERSION
 DEFINE_SEMANTIC_ITEM(false, true, KaxTrackName)
 DEFINE_SEMANTIC_ITEM(false, true, KaxTrackLanguage)
 #if MATROSKA_VERSION >= 2
@@ -308,6 +311,21 @@ DEFINE_MKX_FLOAT_DEF(KaxTrackTimecodeScale, 0x23314F, 3, KaxTrackEntry, "TrackTi
 DEFINE_MKX_SINTEGER_DEF(KaxTrackOffset, 0x537F, 2, KaxTrackEntry, "TrackOffset", 0)
 #endif
 DEFINE_MKX_UINTEGER_DEF(KaxMaxBlockAdditionID, 0x55EE, 2, KaxTrackEntry, "MaxBlockAdditionID", 0)
+#if MATROSKA_VERSION >= 2
+
+DEFINE_START_SEMANTIC(KaxBlockAdditionMapping)
+DEFINE_SEMANTIC_ITEM(true, true, KaxBlockAddIDValue)
+DEFINE_SEMANTIC_ITEM(false, true, KaxBlockAddIDName)
+DEFINE_SEMANTIC_ITEM(true, true, KaxBlockAddIDType)
+DEFINE_SEMANTIC_ITEM(false, true, KaxBlockAddIDExtraData)
+DEFINE_END_SEMANTIC(KaxBlockAdditionMapping)
+
+DEFINE_MKX_MASTER(KaxBlockAdditionMapping, 0x41E4, 2, KaxTrackEntry, "BlockAdditionMapping")
+DEFINE_MKX_UINTEGER(KaxBlockAddIDValue, 0x41F0, 2, KaxBlockAdditionMapping, "BlockAddIDValue")
+DEFINE_MKX_STRING(KaxBlockAddIDName, 0x41A4, 2, KaxBlockAdditionMapping, "BlockAddIDName")
+DEFINE_MKX_UINTEGER_DEF(KaxBlockAddIDType, 0x41E7, 2, KaxBlockAdditionMapping, "BlockAddIDType", 0)
+DEFINE_MKX_BINARY (KaxBlockAddIDExtraData, 0x41ED, 2, KaxBlockAdditionMapping, "BlockAddIDExtraData")
+#endif
 DEFINE_MKX_UNISTRING(KaxTrackName, 0x536E, 2, KaxTrackEntry, "TrackName")
 DEFINE_MKX_STRING_DEF(KaxTrackLanguage, 0x22B59C, 3, KaxTrackEntry, "TrackLanguage", "eng")
 #if MATROSKA_VERSION >= 2