]> granicus.if.org Git - libmatroska/commitdiff
v2: handle the default global EBML elements (Void and Crc32) (the tags multi global...
authorSteve Lhomme <slhomme@matroska.org>
Tue, 20 Apr 2010 16:25:07 +0000 (16:25 +0000)
committerSteve Lhomme <slhomme@matroska.org>
Tue, 20 Apr 2010 16:25:07 +0000 (16:25 +0000)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@142 a6f86f6d-0131-4f8e-9e7b-e335508773d5

matroska/KaxDefines.h
src/KaxTagMulti.cpp

index 192c97f18a34467e4970a86cad8733b081236a58..a61c20a0ac4bd92a11b64aed58ee4cfd7a3da085 100644 (file)
 #include "ebml/EbmlElement.h"\r
 \r
 #if LIBEBML_VERSION >= 0x010000\r
-#define DEFINE_MKX_CONTEXT(a)                DEFINE_xxx_CONTEXT(a,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_MASTER_CONS(a,b,c,d,e)    DEFINE_xxx_MASTER_CONS(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_MASTER(a,b,c,d,e)         DEFINE_xxx_MASTER(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d)    DEFINE_xxx_MASTER_ORPHAN(a,b,c,d,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v)\r
-#define DEFINE_MKX_UINTEGER(a,b,c,d,e)       DEFINE_xxx_UINTEGER(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_SINTEGER(a,b,c,d,e)       DEFINE_xxx_SINTEGER(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_SINTEGER_CONS(a,b,c,d,e)  DEFINE_xxx_SINTEGER_CONS(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_STRING_DEF(a,b,c,d,e,v)   DEFINE_xxx_STRING_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v)\r
-#define DEFINE_MKX_STRING(a,b,c,d,e)         DEFINE_xxx_STRING(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_UNISTRING(a,b,c,d,e)      DEFINE_xxx_UNISTRING(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_BINARY(a,b,c,d,e)         DEFINE_xxx_BINARY(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_BINARY_CONS(a,b,c,d,e)    DEFINE_xxx_BINARY_CONS(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_FLOAT_DEF(a,b,c,d,e,v)    DEFINE_xxx_FLOAT_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v)\r
-#define DEFINE_MKX_FLOAT(a,b,c,d,e)          DEFINE_xxx_FLOAT(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_FLOAT64(a,b,c,d,e)        DEFINE_xxx_FLOAT64(a,b,c,d,e,*GetKaxGlobal_Context)\r
-#define DEFINE_MKX_DATE(a,b,c,d,e)           DEFINE_xxx_DATE(a,b,c,d,e,*GetKaxGlobal_Context)\r
+#define DEFINE_MKX_CONTEXT(a)                DEFINE_xxx_CONTEXT(a,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_MASTER_CONS(a,b,c,d,e)    DEFINE_xxx_MASTER_CONS(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_MASTER(a,b,c,d,e)         DEFINE_xxx_MASTER(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d)    DEFINE_xxx_MASTER_ORPHAN(a,b,c,d,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,c,d,e,EBML_SemanticGlobals,v)\r
+#define DEFINE_MKX_UINTEGER(a,b,c,d,e)       DEFINE_xxx_UINTEGER(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_SINTEGER(a,b,c,d,e)       DEFINE_xxx_SINTEGER(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_SINTEGER_CONS(a,b,c,d,e)  DEFINE_xxx_SINTEGER_CONS(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_STRING_DEF(a,b,c,d,e,v)   DEFINE_xxx_STRING_DEF(a,b,c,d,e,EBML_SemanticGlobals,v)\r
+#define DEFINE_MKX_STRING(a,b,c,d,e)         DEFINE_xxx_STRING(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_UNISTRING(a,b,c,d,e)      DEFINE_xxx_UNISTRING(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_BINARY(a,b,c,d,e)         DEFINE_xxx_BINARY(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_BINARY_CONS(a,b,c,d,e)    DEFINE_xxx_BINARY_CONS(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_FLOAT_DEF(a,b,c,d,e,v)    DEFINE_xxx_FLOAT_DEF(a,b,c,d,e,EBML_SemanticGlobals,v)\r
+#define DEFINE_MKX_FLOAT(a,b,c,d,e)          DEFINE_xxx_FLOAT(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_FLOAT64(a,b,c,d,e)        DEFINE_xxx_FLOAT64(a,b,c,d,e,EBML_SemanticGlobals)\r
+#define DEFINE_MKX_DATE(a,b,c,d,e)           DEFINE_xxx_DATE(a,b,c,d,e,EBML_SemanticGlobals)\r
 \r
 #define DECLARE_MKX_CONTEXT(x)\r
 \r
index ccca3ea901612f166ef67030b276424e9953ed28..bb2188c54037a56c2beaac65512c249ac8e1edae 100644 (file)
@@ -42,6 +42,7 @@ using namespace LIBEBML_NAMESPACE;
 START_LIBMATROSKA_NAMESPACE\r
 \r
 DEFINE_START_SEMANTIC(KaxTagMultiGlobal)\r
+// TODO: have the default EBML global semantic as well\r
 DEFINE_SEMANTIC_ITEM(false, false, KaxTagMultiComment)\r
 DEFINE_END_SEMANTIC(KaxTagMultiGlobal)\r
 \r
@@ -143,7 +144,11 @@ const EbmlSemanticContext & GetKaxTagsGlobal_Context()
     return EBML_CLASS_SEMCONTEXT(KaxTagMultiGlobal);\r
 }\r
 \r
+#if LIBEBML_VERSION >= 0x010000\r
+#define DEFINE_TAG_MASTER(a,b,c,d,e)   DEFINE_xxx_MASTER(a,b,c,d,e,EBML_SemanticKaxTagMultiGlobal)\r
+#else\r
 #define DEFINE_TAG_MASTER(a,b,c,d,e)   DEFINE_xxx_MASTER(a,b,c,d,e,*GetKaxTagsGlobal_Context)\r
+#endif\r
 \r
 \r
 DEFINE_MKX_MASTER   (KaxTagMultiComment,           0x5B7B, 2, KaxTag, "MultiComment");\r