From: Steve Lhomme Date: Tue, 20 Apr 2010 16:25:07 +0000 (+0000) Subject: v2: handle the default global EBML elements (Void and Crc32) (the tags multi global... X-Git-Tag: release-0.9.0~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ea5e6a6730464383f7938bff0a3652ffff716533;p=libmatroska v2: handle the default global EBML elements (Void and Crc32) (the tags multi global element needs a bit of work) git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@142 a6f86f6d-0131-4f8e-9e7b-e335508773d5 --- diff --git a/matroska/KaxDefines.h b/matroska/KaxDefines.h index 192c97f..a61c20a 100644 --- a/matroska/KaxDefines.h +++ b/matroska/KaxDefines.h @@ -37,23 +37,23 @@ #include "ebml/EbmlElement.h" #if LIBEBML_VERSION >= 0x010000 -#define DEFINE_MKX_CONTEXT(a) DEFINE_xxx_CONTEXT(a,*GetKaxGlobal_Context) -#define DEFINE_MKX_MASTER_CONS(a,b,c,d,e) DEFINE_xxx_MASTER_CONS(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d) DEFINE_xxx_MASTER_ORPHAN(a,b,c,d,*GetKaxGlobal_Context) -#define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v) -#define DEFINE_MKX_UINTEGER(a,b,c,d,e) DEFINE_xxx_UINTEGER(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_SINTEGER(a,b,c,d,e) DEFINE_xxx_SINTEGER(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_SINTEGER_CONS(a,b,c,d,e) DEFINE_xxx_SINTEGER_CONS(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_STRING_DEF(a,b,c,d,e,v) DEFINE_xxx_STRING_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v) -#define DEFINE_MKX_STRING(a,b,c,d,e) DEFINE_xxx_STRING(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_UNISTRING(a,b,c,d,e) DEFINE_xxx_UNISTRING(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_BINARY(a,b,c,d,e) DEFINE_xxx_BINARY(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_BINARY_CONS(a,b,c,d,e) DEFINE_xxx_BINARY_CONS(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_FLOAT_DEF(a,b,c,d,e,v) DEFINE_xxx_FLOAT_DEF(a,b,c,d,e,*GetKaxGlobal_Context,v) -#define DEFINE_MKX_FLOAT(a,b,c,d,e) DEFINE_xxx_FLOAT(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_FLOAT64(a,b,c,d,e) DEFINE_xxx_FLOAT64(a,b,c,d,e,*GetKaxGlobal_Context) -#define DEFINE_MKX_DATE(a,b,c,d,e) DEFINE_xxx_DATE(a,b,c,d,e,*GetKaxGlobal_Context) +#define DEFINE_MKX_CONTEXT(a) DEFINE_xxx_CONTEXT(a,EBML_SemanticGlobals) +#define DEFINE_MKX_MASTER_CONS(a,b,c,d,e) DEFINE_xxx_MASTER_CONS(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d) DEFINE_xxx_MASTER_ORPHAN(a,b,c,d,EBML_SemanticGlobals) +#define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,c,d,e,EBML_SemanticGlobals,v) +#define DEFINE_MKX_UINTEGER(a,b,c,d,e) DEFINE_xxx_UINTEGER(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_SINTEGER(a,b,c,d,e) DEFINE_xxx_SINTEGER(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_SINTEGER_CONS(a,b,c,d,e) DEFINE_xxx_SINTEGER_CONS(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_STRING_DEF(a,b,c,d,e,v) DEFINE_xxx_STRING_DEF(a,b,c,d,e,EBML_SemanticGlobals,v) +#define DEFINE_MKX_STRING(a,b,c,d,e) DEFINE_xxx_STRING(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_UNISTRING(a,b,c,d,e) DEFINE_xxx_UNISTRING(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_BINARY(a,b,c,d,e) DEFINE_xxx_BINARY(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_BINARY_CONS(a,b,c,d,e) DEFINE_xxx_BINARY_CONS(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_FLOAT_DEF(a,b,c,d,e,v) DEFINE_xxx_FLOAT_DEF(a,b,c,d,e,EBML_SemanticGlobals,v) +#define DEFINE_MKX_FLOAT(a,b,c,d,e) DEFINE_xxx_FLOAT(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_FLOAT64(a,b,c,d,e) DEFINE_xxx_FLOAT64(a,b,c,d,e,EBML_SemanticGlobals) +#define DEFINE_MKX_DATE(a,b,c,d,e) DEFINE_xxx_DATE(a,b,c,d,e,EBML_SemanticGlobals) #define DECLARE_MKX_CONTEXT(x) diff --git a/src/KaxTagMulti.cpp b/src/KaxTagMulti.cpp index ccca3ea..bb2188c 100644 --- a/src/KaxTagMulti.cpp +++ b/src/KaxTagMulti.cpp @@ -42,6 +42,7 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DEFINE_START_SEMANTIC(KaxTagMultiGlobal) +// TODO: have the default EBML global semantic as well DEFINE_SEMANTIC_ITEM(false, false, KaxTagMultiComment) DEFINE_END_SEMANTIC(KaxTagMultiGlobal) @@ -143,7 +144,11 @@ const EbmlSemanticContext & GetKaxTagsGlobal_Context() return EBML_CLASS_SEMCONTEXT(KaxTagMultiGlobal); } +#if LIBEBML_VERSION >= 0x010000 +#define DEFINE_TAG_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,c,d,e,EBML_SemanticKaxTagMultiGlobal) +#else #define DEFINE_TAG_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,c,d,e,*GetKaxTagsGlobal_Context) +#endif DEFINE_MKX_MASTER (KaxTagMultiComment, 0x5B7B, 2, KaxTag, "MultiComment");