From: Steve Lhomme Date: Mon, 5 Apr 2010 15:53:20 +0000 (+0000) Subject: finish moving the EBML element definitions to the new macros X-Git-Tag: release-0.9.0~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=acccbc21ce6df3f8d7f2229979e794f7062bdde3;p=libmatroska finish moving the EBML element definitions to the new macros use the new EBML context definition macro the GetKaxTagGlobalContext() function doesn't need to be exported git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@70 a6f86f6d-0131-4f8e-9e7b-e335508773d5 --- diff --git a/matroska/KaxContexts.h b/matroska/KaxContexts.h index 9ef3623..e5e8381 100644 --- a/matroska/KaxContexts.h +++ b/matroska/KaxContexts.h @@ -115,9 +115,32 @@ extern const EbmlSemanticContext MATROSKA_DLL_API KaxTrackOverlay_Context; #define Context_KaxSeek KaxSeek_Context #define Context_KaxTags KaxTags_Context #define Context_KaxSeekHead KaxSeekHead_Context +#define Context_KaxTagGeneral KaxTagGeneral_Context +#define Context_KaxTagAudioSpecific KaxTagAudioSpecific_Context +#define Context_KaxTagImageSpecific KaxTagImageSpecific_Context +#define Context_KaxTagGenres KaxTagGenres_Context +#define Context_KaxTagTargets KaxTagTargets_Context +#define Context_KaxTag KaxTag_Context +#define Context_KaxTagSimple KaxTagSimple_Context +#define Context_KaxTagMultiComment KaxTagMultiComment_Context +#define Context_KaxTagMultiCommercial KaxTagMultiCommercial_Context +#define Context_KaxTagCommercial KaxTagCommercial_Context +#define Context_KaxTagMultiPrice KaxTagMultiPrice_Context +#define Context_KaxTagMultiDate KaxTagMultiDate_Context +#define Context_KaxTagDate KaxTagDate_Context +#define Context_KaxTagMultiEntity KaxTagMultiEntity_Context +#define Context_KaxTagEntity KaxTagEntity_Context +#define Context_KaxTagMultiLegal KaxTagMultiLegal_Context +#define Context_KaxTagLegal KaxTagLegal_Context +#define Context_KaxTagMultiIdentifier KaxTagMultiIdentifier_Context +#define Context_KaxTagIdentifier KaxTagIdentifier_Context +#define Context_KaxTagMultiTitle KaxTagMultiTitle_Context +#define Context_KaxTagTitle KaxTagTitle_Context +#define Context_KaxTagMultiAttachment KaxTagMultiAttachment_Context +#define Context_KaxTagAttachment KaxTagAttachment_Context extern const EbmlSemanticContext & MATROSKA_DLL_API GetKaxGlobal_Context(); -extern const EbmlSemanticContext & MATROSKA_DLL_API GetKaxTagsGlobal_Context(); +//extern const EbmlSemanticContext & MATROSKA_DLL_API GetKaxTagsGlobal_Context(); END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxDefines.h b/matroska/KaxDefines.h index 064f6a8..cf233da 100644 --- a/matroska/KaxDefines.h +++ b/matroska/KaxDefines.h @@ -46,8 +46,8 @@ #define DEFINE_MKX_FLOAT(a,b,c,d,e) DEFINE_xxx_FLOAT(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) #else +#define DEFINE_MKX_CONTEXT(a) DEFINE_xxx_CONTEXT(a,*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_GLOBAL(a,b,c,d) DEFINE_xxx_MASTER_GLOBAL(a,b,c,d,*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(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,*GetKaxGlobal_Context) #define DEFINE_MKX_SINTEGER(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,*GetKaxGlobal_Context) diff --git a/src/KaxSegment.cpp b/src/KaxSegment.cpp index 73632ac..f2527f8 100644 --- a/src/KaxSegment.cpp +++ b/src/KaxSegment.cpp @@ -67,7 +67,8 @@ static const EbmlSemantic ContextList_KaxSegment[8] = EbmlSemantic(false, true, EBML_INFO(KaxTags)), }; -DEFINE_MKX_MASTER_GLOBAL(KaxMatroska, -1, 5, "Matroska"); +DEFINE_MKX_CONTEXT(KaxMatroska); + DEFINE_MKX_MASTER_ORPHAN(KaxSegment, 0x18538067, 4, "Segment\0rotomopogo"); KaxSegment::KaxSegment() diff --git a/src/KaxTag.cpp b/src/KaxTag.cpp index ff2bc68..5967a05 100644 --- a/src/KaxTag.cpp +++ b/src/KaxTag.cpp @@ -36,13 +36,14 @@ #include "matroska/KaxTag.h" #include "matroska/KaxTagMulti.h" #include "matroska/KaxContexts.h" +#include "matroska/KaxDefines.h" using namespace LIBEBML_NAMESPACE; // sub elements START_LIBMATROSKA_NAMESPACE -EbmlSemantic KaxTag_ContextList[14] = +static const EbmlSemantic ContextList_KaxTag[14] = { EbmlSemantic(true, true, EBML_INFO(KaxTagTargets)), EbmlSemantic(false, true, EBML_INFO(KaxTagGeneral)), @@ -64,7 +65,7 @@ EbmlSemantic KaxTag_ContextList[14] = EbmlSemantic(true, false, EBML_INFO(KaxTagSimple)), }; -EbmlSemantic KaxTagTargets_ContextList[6] = +static const EbmlSemantic ContextList_KaxTagTargets[6] = { EbmlSemantic(false, true, EBML_INFO(KaxTagTargetTypeValue)), EbmlSemantic(false, true, EBML_INFO(KaxTagTargetType)), @@ -74,7 +75,7 @@ EbmlSemantic KaxTagTargets_ContextList[6] = EbmlSemantic(false, false, EBML_INFO(KaxTagAttachmentUID)), }; -EbmlSemantic KaxTagGeneral_ContextList[17] = +static const EbmlSemantic ContextList_KaxTagGeneral[17] = { EbmlSemantic(false, true, EBML_INFO(KaxTagArchivalLocation)), EbmlSemantic(false, true, EBML_INFO(KaxTagFile)), @@ -95,14 +96,14 @@ EbmlSemantic KaxTagGeneral_ContextList[17] = EbmlSemantic(false, true, EBML_INFO(KaxTagEncodeSettings)), }; -EbmlSemantic KaxTagGenres_ContextList[3] = +static const EbmlSemantic ContextList_KaxTagGenres[3] = { EbmlSemantic(false, false, EBML_INFO(KaxTagAudioGenre)), EbmlSemantic(false, false, EBML_INFO(KaxTagVideoGenre)), EbmlSemantic(false, true, EBML_INFO(KaxTagSubGenre)), }; -EbmlSemantic KaxTagAudioSpecific_ContextList[10] = +static const EbmlSemantic ContextList_KaxTagAudioSpecific[10] = { EbmlSemantic(false, true, EBML_INFO(KaxTagAudioPeak)), EbmlSemantic(false, true, EBML_INFO(KaxTagAudioEncryption)), @@ -116,7 +117,7 @@ EbmlSemantic KaxTagAudioSpecific_ContextList[10] = EbmlSemantic(false, true, EBML_INFO(KaxTagOfficialAudioSourceURL)), }; -EbmlSemantic KaxTagImageSpecific_ContextList[6] = +static const EbmlSemantic ContextList_KaxTagImageSpecific[6] = { EbmlSemantic(false, true, EBML_INFO(KaxTagCaptureDPI)), EbmlSemantic(false, true, EBML_INFO(KaxTagCaptureLightness)), @@ -126,7 +127,7 @@ EbmlSemantic KaxTagImageSpecific_ContextList[6] = EbmlSemantic(false, true, EBML_INFO(KaxTagOriginalDimensions)), }; -EbmlSemantic KaxTagSimple_ContextList[6] = +static const EbmlSemantic ContextList_KaxTagSimple[6] = { EbmlSemantic(true, true, EBML_INFO(KaxTagName)), EbmlSemantic(true, true, EBML_INFO(KaxTagLangue)), @@ -136,185 +137,65 @@ EbmlSemantic KaxTagSimple_ContextList[6] = EbmlSemantic(false, false, EBML_INFO(KaxTagSimple)), }; -const EbmlSemanticContext KaxTag_Context = EbmlSemanticContext(countof(KaxTag_ContextList), KaxTag_ContextList, &KaxTags_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTag)); -const EbmlSemanticContext KaxTagTargets_Context = EbmlSemanticContext(countof(KaxTagTargets_ContextList), KaxTagTargets_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagTargets)); -const EbmlSemanticContext KaxTagGeneral_Context = EbmlSemanticContext(countof(KaxTagGeneral_ContextList), KaxTagGeneral_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagGeneral)); -const EbmlSemanticContext KaxTagGenres_Context = EbmlSemanticContext(countof(KaxTagGenres_ContextList), KaxTagGenres_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagGenres)); -const EbmlSemanticContext KaxTagAudioSpecific_Context = EbmlSemanticContext(countof(KaxTagAudioSpecific_ContextList), KaxTagAudioSpecific_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagAudioSpecific)); -const EbmlSemanticContext KaxTagImageSpecific_Context = EbmlSemanticContext(countof(KaxTagImageSpecific_ContextList), KaxTagImageSpecific_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagImageSpecific)); -const EbmlSemanticContext KaxTagBibliography_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagBibliography)); -const EbmlSemanticContext KaxTagEncoder_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagEncoder)); -const EbmlSemanticContext KaxTagEncodeSettings_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagEncodeSettings)); -const EbmlSemanticContext KaxTagLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagLanguage)); -const EbmlSemanticContext KaxTagLength_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagLength)); -const EbmlSemanticContext KaxTagPlaylistDelay_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagPlaylistDelay)); -const EbmlSemanticContext KaxTagRating_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagRating)); -const EbmlSemanticContext KaxTagSubject_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagSubject)); -const EbmlSemanticContext KaxTagUnsynchronisedText_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagUnsynchronisedText)); -const EbmlSemanticContext KaxTagUserDefinedURL_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagUserDefinedURL)); -const EbmlSemanticContext KaxTagTargetTypeValue_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagTargetTypeValue)); -const EbmlSemanticContext KaxTagTargetType_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagTargetType)); -const EbmlSemanticContext KaxTagTrackUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagTrackUID)); -const EbmlSemanticContext KaxTagEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagEditionUID)); -const EbmlSemanticContext KaxTagChapterUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagChapterUID)); -const EbmlSemanticContext KaxTagAttachmentUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagAttachmentUID)); -const EbmlSemanticContext KaxTagArchivalLocation_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagArchivalLocation)); -const EbmlSemanticContext KaxTagFile_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagFile)); -const EbmlSemanticContext KaxTagKeywords_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagKeywords)); -const EbmlSemanticContext KaxTagMood_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMood)); -const EbmlSemanticContext KaxTagRecordLocation_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagRecordLocation)); -const EbmlSemanticContext KaxTagSource_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagSource)); -const EbmlSemanticContext KaxTagSourceForm_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagSourceForm)); -const EbmlSemanticContext KaxTagProduct_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagProduct)); -const EbmlSemanticContext KaxTagOriginalMediaType_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagOriginalMediaType)); -const EbmlSemanticContext KaxTagPlayCounter_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagPlayCounter)); -const EbmlSemanticContext KaxTagPopularimeter_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagPopularimeter)); -const EbmlSemanticContext KaxTagAudioGenre_Context = EbmlSemanticContext(0, NULL, &KaxTagGenres_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagAudioGenre)); -const EbmlSemanticContext KaxTagVideoGenre_Context = EbmlSemanticContext(0, NULL, &KaxTagGenres_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagVideoGenre)); -const EbmlSemanticContext KaxTagSubGenre_Context = EbmlSemanticContext(0, NULL, &KaxTagGenres_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagSubGenre)); -const EbmlSemanticContext KaxTagAudioEncryption_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagAudioEncryption)); -const EbmlSemanticContext KaxTagAudioGain_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagAudioGain)); -const EbmlSemanticContext KaxTagAudioPeak_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagAudioPeak)); -const EbmlSemanticContext KaxTagBPM_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagBPM)); -const EbmlSemanticContext KaxTagDiscTrack_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagDiscTrack)); -const EbmlSemanticContext KaxTagSetPart_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagSetPart)); -const EbmlSemanticContext KaxTagEqualisation_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagEqualisation)); -const EbmlSemanticContext KaxTagInitialKey_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagInitialKey)); -const EbmlSemanticContext KaxTagOfficialAudioFileURL_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagOfficialAudioFileURL)); -const EbmlSemanticContext KaxTagOfficialAudioSourceURL_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagOfficialAudioSourceURL)); -const EbmlSemanticContext KaxTagCaptureDPI_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagCaptureDPI)); -const EbmlSemanticContext KaxTagCaptureLightness_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagCaptureLightness)); -const EbmlSemanticContext KaxTagCapturePaletteSetting_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagCapturePaletteSetting)); -const EbmlSemanticContext KaxTagCaptureSharpness_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagCaptureSharpness)); -const EbmlSemanticContext KaxTagCropped_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagCropped)); -const EbmlSemanticContext KaxTagOriginalDimensions_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagOriginalDimensions)); - -const EbmlSemanticContext KaxTagSimple_Context = EbmlSemanticContext(countof(KaxTagSimple_ContextList), KaxTagSimple_ContextList, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagSimple)); -const EbmlSemanticContext KaxTagName_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagName)); -const EbmlSemanticContext KaxTagLangue_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagLangue)); -const EbmlSemanticContext KaxTagDefault_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagDefault)); -const EbmlSemanticContext KaxTagString_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagString)); -const EbmlSemanticContext KaxTagBinary_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagBinary)); - -EbmlId KaxTag_TheId (0x7373, 2); -EbmlId KaxTagTargets_TheId (0x63C0, 2); -EbmlId KaxTagGeneral_TheId (0x67C9, 2); -EbmlId KaxTagGenres_TheId (0x6583, 2); -EbmlId KaxTagAudioSpecific_TheId (0x41C5, 2); -EbmlId KaxTagImageSpecific_TheId (0x4990, 2); -EbmlId KaxTagBibliography_TheId (0x4488, 2); -EbmlId KaxTagEncoder_TheId (0x4431, 2); -EbmlId KaxTagEncodeSettings_TheId (0x6526, 2); -EbmlId KaxTagLanguage_TheId (0x22B59F, 3); -EbmlId KaxTagLength_TheId (0x5243, 2); -EbmlId KaxTagPlaylistDelay_TheId (0x72CC, 2); -EbmlId KaxTagRating_TheId (0x52BC, 2); -EbmlId KaxTagSubject_TheId (0x49C1, 2); -EbmlId KaxTagUnsynchronisedText_TheId (0x874B, 2); -EbmlId KaxTagUserDefinedURL_TheId (0x434A, 2); -EbmlId KaxTagTargetTypeValue_TheId (0x68CA, 2); -EbmlId KaxTagTargetType_TheId (0x63CA, 2); -EbmlId KaxTagTrackUID_TheId (0x63C5, 2); -EbmlId KaxTagEditionUID_TheId (0x63C9, 2); -EbmlId KaxTagChapterUID_TheId (0x63C4, 2); -EbmlId KaxTagAttachmentUID_TheId (0x63C6, 2); -EbmlId KaxTagAudioGenre_TheId (0x65C2, 2); -EbmlId KaxTagVideoGenre_TheId (0x65A1, 2); -EbmlId KaxTagSubGenre_TheId (0x65AC, 2); -EbmlId KaxTagAudioEncryption_TheId (0x41B4, 2); -EbmlId KaxTagAudioGain_TheId (0x4199, 2); -EbmlId KaxTagAudioPeak_TheId (0x4189, 2); -EbmlId KaxTagBPM_TheId (0x41A1, 2); -EbmlId KaxTagDiscTrack_TheId (0x41B6, 2); -EbmlId KaxTagSetPart_TheId (0x416E, 2); -EbmlId KaxTagEqualisation_TheId (0x41B1, 2); -EbmlId KaxTagInitialKey_TheId (0x413A, 2); -EbmlId KaxTagOfficialAudioFileURL_TheId (0x4133, 2); -EbmlId KaxTagOfficialAudioSourceURL_TheId(0x413E, 2); -EbmlId KaxTagArchivalLocation_TheId (0x45A4, 2); -EbmlId KaxTagFile_TheId (0x454E, 2); -EbmlId KaxTagKeywords_TheId (0x458C, 2); -EbmlId KaxTagMood_TheId (0x45AE, 2); -EbmlId KaxTagRecordLocation_TheId (0x457E, 2); -EbmlId KaxTagSource_TheId (0x458A, 2); -EbmlId KaxTagSourceForm_TheId (0x45B5, 2); -EbmlId KaxTagProduct_TheId (0x45E3, 2); -EbmlId KaxTagOriginalMediaType_TheId (0x45A7, 2); -EbmlId KaxTagPlayCounter_TheId (0x4566, 2); -EbmlId KaxTagPopularimeter_TheId (0x4532, 2); -EbmlId KaxTagCaptureDPI_TheId (0x49C7, 2); -EbmlId KaxTagCaptureLightness_TheId (0x49E1, 2); -EbmlId KaxTagCapturePaletteSetting_TheId (0x4934, 2); -EbmlId KaxTagCaptureSharpness_TheId (0x4922, 2); -EbmlId KaxTagCropped_TheId (0x4987, 2); -EbmlId KaxTagOriginalDimensions_TheId (0x4933, 2); - -EbmlId KaxTagSimple_TheId (0x67C8, 2); -EbmlId KaxTagName_TheId (0x45A3, 2); -EbmlId KaxTagLangue_TheId (0x447A, 2); -EbmlId KaxTagDefault_TheId (0x4484, 2); -EbmlId KaxTagString_TheId (0x4487, 2); -EbmlId KaxTagBinary_TheId (0x4485, 2); - -const EbmlCallbacks KaxTag::ClassInfos(KaxTag::Create, KaxTag_TheId, "Tag", KaxTag_Context); -const EbmlCallbacks KaxTagTargets::ClassInfos(KaxTagTargets::Create, KaxTagTargets_TheId, "TagTargets", KaxTagTargets_Context); -const EbmlCallbacks KaxTagGeneral::ClassInfos(KaxTagGeneral::Create, KaxTagGeneral_TheId, "TagGeneral", KaxTagGeneral_Context); -const EbmlCallbacks KaxTagGenres::ClassInfos(KaxTagGenres::Create, KaxTagGenres_TheId, "TagGenres", KaxTagGenres_Context); -const EbmlCallbacks KaxTagAudioSpecific::ClassInfos(KaxTagAudioSpecific::Create, KaxTagAudioSpecific_TheId, "TagAudioSpecific", KaxTagAudioSpecific_Context); -const EbmlCallbacks KaxTagImageSpecific::ClassInfos(KaxTagImageSpecific::Create, KaxTagImageSpecific_TheId, "TagImageSpecific", KaxTagImageSpecific_Context); -const EbmlCallbacks KaxTagBibliography::ClassInfos(KaxTagBibliography::Create, KaxTagBibliography_TheId, "Bibliography", KaxTagBibliography_Context); -const EbmlCallbacks KaxTagCaptureDPI::ClassInfos(KaxTagCaptureDPI::Create, KaxTagCaptureDPI_TheId, "CaptureDPI", KaxTagCaptureDPI_Context); -const EbmlCallbacks KaxTagCaptureLightness::ClassInfos(KaxTagCaptureLightness::Create, KaxTagCaptureLightness_TheId, "CaptureLightness", KaxTagCaptureLightness_Context); -const EbmlCallbacks KaxTagCapturePaletteSetting::ClassInfos(KaxTagCapturePaletteSetting::Create, KaxTagCapturePaletteSetting_TheId, "CapturePaletteSetting", KaxTagCapturePaletteSetting_Context); -const EbmlCallbacks KaxTagCaptureSharpness::ClassInfos(KaxTagCaptureSharpness::Create, KaxTagCaptureSharpness_TheId, "CaptureSharpness", KaxTagCaptureSharpness_Context); -const EbmlCallbacks KaxTagCropped::ClassInfos(KaxTagCropped::Create, KaxTagCropped_TheId, "Cropped", KaxTagCropped_Context); -const EbmlCallbacks KaxTagEncoder::ClassInfos(KaxTagEncoder::Create, KaxTagEncoder_TheId, "Encoder", KaxTagEncoder_Context); -const EbmlCallbacks KaxTagEncodeSettings::ClassInfos(KaxTagEncodeSettings::Create, KaxTagEncodeSettings_TheId, "EncodeSettings", KaxTagEncodeSettings_Context); -const EbmlCallbacks KaxTagLanguage::ClassInfos(KaxTagLanguage::Create, KaxTagLanguage_TheId, "Language", KaxTagLanguage_Context); -const EbmlCallbacks KaxTagLength::ClassInfos(KaxTagLength::Create, KaxTagLength_TheId, "Length", KaxTagLength_Context); -const EbmlCallbacks KaxTagOriginalDimensions::ClassInfos(KaxTagOriginalDimensions::Create, KaxTagOriginalDimensions_TheId, "OriginalDimensions", KaxTagOriginalDimensions_Context); -const EbmlCallbacks KaxTagPlaylistDelay::ClassInfos(KaxTagPlaylistDelay::Create, KaxTagPlaylistDelay_TheId, "PlaylistDelay", KaxTagPlaylistDelay_Context); -const EbmlCallbacks KaxTagRating::ClassInfos(KaxTagRating::Create, KaxTagRating_TheId, "Rating", KaxTagRating_Context); -const EbmlCallbacks KaxTagSubject::ClassInfos(KaxTagSubject::Create, KaxTagSubject_TheId, "Subject", KaxTagSubject_Context); -const EbmlCallbacks KaxTagUnsynchronisedText::ClassInfos(KaxTagUnsynchronisedText::Create, KaxTagUnsynchronisedText_TheId, "UnsynchronisedText", KaxTagUnsynchronisedText_Context); -const EbmlCallbacks KaxTagUserDefinedURL::ClassInfos(KaxTagUserDefinedURL::Create, KaxTagUserDefinedURL_TheId, "UserDefinedURL", KaxTagUserDefinedURL_Context); -const EbmlCallbacks KaxTagTargetTypeValue::ClassInfos(KaxTagTargetTypeValue::Create, KaxTagTargetTypeValue_TheId, "TagTargetTypeValue", KaxTagTargetTypeValue_Context); -const EbmlCallbacks KaxTagTargetType::ClassInfos(KaxTagTargetType::Create, KaxTagTargetType_TheId, "TagTargetType", KaxTagTargetType_Context); -const EbmlCallbacks KaxTagTrackUID::ClassInfos(KaxTagTrackUID::Create, KaxTagTrackUID_TheId, "TagTrackUID", KaxTagTrackUID_Context); -const EbmlCallbacks KaxTagEditionUID::ClassInfos(KaxTagEditionUID::Create, KaxTagEditionUID_TheId, "TagEditionUID", KaxTagEditionUID_Context); -const EbmlCallbacks KaxTagChapterUID::ClassInfos(KaxTagChapterUID::Create, KaxTagChapterUID_TheId, "TagChapterUID", KaxTagChapterUID_Context); -const EbmlCallbacks KaxTagAttachmentUID::ClassInfos(KaxTagAttachmentUID::Create, KaxTagAttachmentUID_TheId, "TagAttachmentUID", KaxTagAttachmentUID_Context); -const EbmlCallbacks KaxTagAudioGenre::ClassInfos(KaxTagAudioGenre::Create, KaxTagAudioGenre_TheId, "AudioGenre", KaxTagAudioGenre_Context); -const EbmlCallbacks KaxTagVideoGenre::ClassInfos(KaxTagVideoGenre::Create, KaxTagVideoGenre_TheId, "VideoGenre", KaxTagVideoGenre_Context); -const EbmlCallbacks KaxTagSubGenre::ClassInfos(KaxTagSubGenre::Create, KaxTagSubGenre_TheId, "SubGenre", KaxTagSubGenre_Context); -const EbmlCallbacks KaxTagAudioEncryption::ClassInfos(KaxTagAudioEncryption::Create, KaxTagAudioEncryption_TheId, "AudioEncryption", KaxTagAudioEncryption_Context); -const EbmlCallbacks KaxTagAudioGain::ClassInfos(KaxTagAudioGain::Create, KaxTagAudioGain_TheId, "AudioGain", KaxTagAudioGain_Context); -const EbmlCallbacks KaxTagAudioPeak::ClassInfos(KaxTagAudioPeak::Create, KaxTagAudioPeak_TheId, "AudioPeak", KaxTagAudioPeak_Context); -const EbmlCallbacks KaxTagBPM::ClassInfos(KaxTagBPM::Create, KaxTagBPM_TheId, "BPM", KaxTagBPM_Context); -const EbmlCallbacks KaxTagDiscTrack::ClassInfos(KaxTagDiscTrack::Create, KaxTagDiscTrack_TheId, "DiscTrack", KaxTagDiscTrack_Context); -const EbmlCallbacks KaxTagSetPart::ClassInfos(KaxTagSetPart::Create, KaxTagSetPart_TheId, "SetPart", KaxTagSetPart_Context); -const EbmlCallbacks KaxTagEqualisation::ClassInfos(KaxTagEqualisation::Create, KaxTagEqualisation_TheId, "Equalisation", KaxTagEqualisation_Context); -const EbmlCallbacks KaxTagInitialKey::ClassInfos(KaxTagInitialKey::Create, KaxTagInitialKey_TheId, "InitialKey", KaxTagInitialKey_Context); -const EbmlCallbacks KaxTagOfficialAudioFileURL::ClassInfos(KaxTagOfficialAudioFileURL::Create, KaxTagOfficialAudioFileURL_TheId, "OfficialAudioFileURL", KaxTagOfficialAudioFileURL_Context); -const EbmlCallbacks KaxTagOfficialAudioSourceURL::ClassInfos(KaxTagOfficialAudioSourceURL::Create, KaxTagOfficialAudioSourceURL_TheId, "AudioSourceURL", KaxTagOfficialAudioSourceURL_Context); -const EbmlCallbacks KaxTagArchivalLocation::ClassInfos(KaxTagArchivalLocation::Create, KaxTagArchivalLocation_TheId, "ArchivalLocation", KaxTagArchivalLocation_Context); -const EbmlCallbacks KaxTagFile::ClassInfos(KaxTagFile::Create, KaxTagFile_TheId, "File", KaxTagFile_Context); -const EbmlCallbacks KaxTagKeywords::ClassInfos(KaxTagKeywords::Create, KaxTagKeywords_TheId, "Keywords", KaxTagKeywords_Context); -const EbmlCallbacks KaxTagMood::ClassInfos(KaxTagMood::Create, KaxTagMood_TheId, "Mood", KaxTagMood_Context); -const EbmlCallbacks KaxTagRecordLocation::ClassInfos(KaxTagRecordLocation::Create, KaxTagRecordLocation_TheId, "RecordLocation", KaxTagRecordLocation_Context); -const EbmlCallbacks KaxTagSource::ClassInfos(KaxTagSource::Create, KaxTagSource_TheId, "Source", KaxTagSource_Context); -const EbmlCallbacks KaxTagSourceForm::ClassInfos(KaxTagSourceForm::Create, KaxTagSourceForm_TheId, "SourceForm", KaxTagSourceForm_Context); -const EbmlCallbacks KaxTagProduct::ClassInfos(KaxTagProduct::Create, KaxTagProduct_TheId, "Product", KaxTagProduct_Context); -const EbmlCallbacks KaxTagOriginalMediaType::ClassInfos(KaxTagOriginalMediaType::Create, KaxTagOriginalMediaType_TheId, "OriginalMediaType", KaxTagOriginalMediaType_Context); -const EbmlCallbacks KaxTagPlayCounter::ClassInfos(KaxTagPlayCounter::Create, KaxTagPlayCounter_TheId, "PlayCounter", KaxTagPlayCounter_Context); -const EbmlCallbacks KaxTagPopularimeter::ClassInfos(KaxTagPopularimeter::Create, KaxTagPopularimeter_TheId, "Popularimeter", KaxTagPopularimeter_Context); - -const EbmlCallbacks KaxTagSimple::ClassInfos(KaxTagSimple::Create, KaxTagSimple_TheId, "TagSimple", KaxTagSimple_Context); -const EbmlCallbacks KaxTagName::ClassInfos(KaxTagName::Create, KaxTagName_TheId, "TagName", KaxTagName_Context); -const EbmlCallbacks KaxTagLangue::ClassInfos(KaxTagLangue::Create, KaxTagLangue_TheId, "TagLanguage", KaxTagLangue_Context); -const EbmlCallbacks KaxTagDefault::ClassInfos(KaxTagDefault::Create, KaxTagDefault_TheId, "TagDefault", KaxTagDefault_Context); -const EbmlCallbacks KaxTagString::ClassInfos(KaxTagString::Create, KaxTagString_TheId, "TagString", KaxTagString_Context); -const EbmlCallbacks KaxTagBinary::ClassInfos(KaxTagBinary::Create, KaxTagBinary_TheId, "TagBinary", KaxTagBinary_Context); +DEFINE_MKX_MASTER (KaxTag, 0x7373, 2, KaxTags, "Tag"); +DEFINE_MKX_MASTER (KaxTagTargets, 0x63C0, 2, KaxTag, "TagTargets"); +DEFINE_MKX_MASTER (KaxTagGeneral, 0x67C9, 2, KaxTag, "TagGeneral"); +DEFINE_MKX_MASTER (KaxTagGenres, 0x6583, 2, KaxTag, "TagGenres"); +DEFINE_MKX_MASTER (KaxTagAudioSpecific, 0x41C5, 2, KaxTag, "TagAudioSpecific"); +DEFINE_MKX_MASTER (KaxTagImageSpecific, 0x4990, 2, KaxTag, "TagImageSpecific"); +DEFINE_MKX_UNISTRING(KaxTagBibliography, 0x4488, 2, KaxTag, "Bibliography"); +DEFINE_MKX_UNISTRING(KaxTagEncoder, 0x4431, 2, KaxTag, "Encoder"); +DEFINE_MKX_UNISTRING(KaxTagEncodeSettings, 0x6526, 2, KaxTag, "EncodeSettings"); +DEFINE_MKX_STRING (KaxTagLanguage, 0x22B59F, 3, KaxTag, "Language"); +DEFINE_MKX_UINTEGER (KaxTagLength, 0x5243, 2, KaxTag, "Length"); +DEFINE_MKX_UINTEGER (KaxTagPlaylistDelay, 0x72CC, 2, KaxTag, "PlaylistDelay"); +DEFINE_MKX_BINARY (KaxTagRating, 0x52BC, 2, KaxTag, "Rating"); +DEFINE_MKX_UNISTRING(KaxTagSubject, 0x49C1, 2, KaxTag, "Subject"); +DEFINE_MKX_UNISTRING(KaxTagUnsynchronisedText, 0x874B, 2, KaxTag, "UnsynchronisedText"); +DEFINE_MKX_STRING (KaxTagUserDefinedURL, 0x434A, 2, KaxTag, "UserDefinedURL"); +DEFINE_MKX_UINTEGER (KaxTagTargetTypeValue, 0x68CA, 2, KaxTagTargets, "TagTargetTypeValue"); +DEFINE_MKX_STRING (KaxTagTargetType, 0x63CA, 2, KaxTagTargets, "TagTargetType"); +DEFINE_MKX_UINTEGER (KaxTagTrackUID, 0x63C5, 2, KaxTagTargets, "TagTrackUID"); +DEFINE_MKX_UINTEGER (KaxTagEditionUID, 0x63C9, 2, KaxTagTargets, "TagEditionUID"); +DEFINE_MKX_UINTEGER (KaxTagChapterUID, 0x63C4, 2, KaxTagTargets, "TagChapterUID"); +DEFINE_MKX_UINTEGER (KaxTagAttachmentUID, 0x63C6, 2, KaxTagTargets, "TagAttachmentUID"); +DEFINE_MKX_UNISTRING(KaxTagArchivalLocation, 0x45A4, 2, KaxTagGeneral, "ArchivalLocation"); +DEFINE_MKX_UNISTRING(KaxTagFile, 0x454E, 2, KaxTagGeneral, "File"); +DEFINE_MKX_UNISTRING(KaxTagKeywords, 0x458C, 2, KaxTagGeneral, "Keywords"); +DEFINE_MKX_UNISTRING(KaxTagMood, 0x45AE, 2, KaxTagGeneral, "Mood"); +DEFINE_MKX_STRING (KaxTagRecordLocation, 0x457E, 2, KaxTagGeneral, "RecordLocation"); +DEFINE_MKX_UNISTRING(KaxTagSource, 0x458A, 2, KaxTagGeneral, "Source"); +DEFINE_MKX_UNISTRING(KaxTagSourceForm, 0x45B5, 2, KaxTagGeneral, "SourceForm"); +DEFINE_MKX_UNISTRING(KaxTagProduct, 0x45E3, 2, KaxTagGeneral, "Product"); +DEFINE_MKX_UNISTRING(KaxTagOriginalMediaType, 0x45A7, 2, KaxTagGeneral, "OriginalMediaType"); +DEFINE_MKX_UINTEGER (KaxTagPlayCounter, 0x4566, 2, KaxTagTargets, "PlayCounter"); +DEFINE_MKX_SINTEGER (KaxTagPopularimeter, 0x4532, 2, KaxTagTargets, "Popularimeter"); +DEFINE_MKX_STRING (KaxTagAudioGenre, 0x65C2, 2, KaxTagGenres, "AudioGenre"); +DEFINE_MKX_BINARY (KaxTagVideoGenre, 0x65A1, 2, KaxTagGenres, "VideoGenre"); +DEFINE_MKX_STRING (KaxTagSubGenre, 0x65AC, 2, KaxTagGenres, "SubGenre"); +DEFINE_MKX_BINARY (KaxTagAudioEncryption, 0x41B4, 2, KaxTagAudioSpecific, "AudioEncryption"); +DEFINE_MKX_FLOAT (KaxTagAudioGain, 0x4199, 2, KaxTagAudioSpecific, "AudioGain"); +DEFINE_MKX_FLOAT (KaxTagAudioPeak, 0x4189, 2, KaxTagAudioSpecific, "AudioPeak"); +DEFINE_MKX_FLOAT (KaxTagBPM, 0x41A1, 2, KaxTagAudioSpecific, "BPM"); +DEFINE_MKX_UINTEGER (KaxTagDiscTrack, 0x41B6, 2, KaxTagAudioSpecific, "DiscTrack"); +DEFINE_MKX_UINTEGER (KaxTagSetPart, 0x416E, 2, KaxTagAudioSpecific, "SetPart"); +DEFINE_MKX_BINARY (KaxTagEqualisation, 0x41B1, 2, KaxTagAudioSpecific, "Equalisation"); +DEFINE_MKX_STRING (KaxTagInitialKey, 0x413A, 2, KaxTagAudioSpecific, "InitialKey"); +DEFINE_MKX_STRING (KaxTagOfficialAudioFileURL, 0x4133, 2, KaxTagAudioSpecific, "OfficialAudioFileURL"); +DEFINE_MKX_STRING (KaxTagOfficialAudioSourceURL, 0x413E, 2, KaxTagAudioSpecific, "AudioSourceURL"); +DEFINE_MKX_UINTEGER (KaxTagCaptureDPI, 0x49C7, 2, KaxTagImageSpecific, "CaptureDPI"); +DEFINE_MKX_BINARY (KaxTagCaptureLightness, 0x49E1, 2, KaxTagImageSpecific, "CaptureLightness"); +DEFINE_MKX_UINTEGER (KaxTagCapturePaletteSetting, 0x4934, 2, KaxTagImageSpecific, "CapturePaletteSetting"); +DEFINE_MKX_BINARY (KaxTagCaptureSharpness, 0x4922, 2, KaxTagImageSpecific, "CaptureSharpness"); +DEFINE_MKX_UNISTRING(KaxTagCropped, 0x4987, 2, KaxTagImageSpecific, "Cropped"); +DEFINE_MKX_STRING (KaxTagOriginalDimensions, 0x4933, 2, KaxTagImageSpecific, "OriginalDimensions"); + +DEFINE_MKX_MASTER (KaxTagSimple, 0x67C8, 2, KaxTag, "TagSimple"); +DEFINE_MKX_UNISTRING(KaxTagName, 0x45A3, 2, KaxTagSimple, "TagName"); +DEFINE_MKX_STRING (KaxTagLangue, 0x447A, 2, KaxTagSimple, "TagLanguage"); +DEFINE_MKX_UINTEGER (KaxTagDefault, 0x4484, 2, KaxTagSimple, "TagDefault"); +DEFINE_MKX_UNISTRING(KaxTagString, 0x4487, 2, KaxTagSimple, "TagString"); +DEFINE_MKX_BINARY (KaxTagBinary, 0x4485, 2, KaxTagSimple, "TagBinary"); KaxTag::KaxTag() :EbmlMaster(KaxTag_Context) diff --git a/src/KaxTagMulti.cpp b/src/KaxTagMulti.cpp index 148b911..d74eb1c 100644 --- a/src/KaxTagMulti.cpp +++ b/src/KaxTagMulti.cpp @@ -35,29 +35,30 @@ */ #include "matroska/KaxTagMulti.h" #include "matroska/KaxContexts.h" +#include "matroska/KaxDefines.h" using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE -EbmlSemantic KaxTagMultiGlobal_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiGlobal[1] = { EbmlSemantic(false, false, EBML_INFO(KaxTagMultiComment)), }; -EbmlSemantic KaxTagMultiComment_ContextList[3] = +static const EbmlSemantic ContextList_KaxTagMultiComment[3] = { EbmlSemantic(false, true, EBML_INFO(KaxTagMultiCommentName)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiCommentComments)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiCommentLanguage)), }; -EbmlSemantic KaxTagMultiCommercial_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiCommercial[1] = { EbmlSemantic(true, false, EBML_INFO(KaxTagCommercial)), }; -EbmlSemantic KaxTagCommercial_ContextList[5] = +static const EbmlSemantic ContextList_KaxTagCommercial[5] = { EbmlSemantic(true, true, EBML_INFO(KaxTagMultiCommercialType)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiCommercialAddress)), @@ -66,31 +67,31 @@ EbmlSemantic KaxTagCommercial_ContextList[5] = EbmlSemantic(false, false, EBML_INFO(KaxTagMultiPrice)), }; -EbmlSemantic KaxTagMultiPrice_ContextList[3] = +static const EbmlSemantic ContextList_KaxTagMultiPrice[3] = { EbmlSemantic(false, true, EBML_INFO(KaxTagMultiPriceCurrency)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiPriceAmount)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiPricePriceDate)), }; -EbmlSemantic KaxTagMultiDate_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiDate[1] = { EbmlSemantic(true, false, EBML_INFO(KaxTagDate)), }; -EbmlSemantic KaxTagDate_ContextList[3] = +static const EbmlSemantic ContextList_KaxTagDate[3] = { EbmlSemantic(true, true, EBML_INFO(KaxTagMultiDateType)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiDateDateBegin)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiDateDateEnd)), }; -EbmlSemantic KaxTagMultiEntity_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiEntity[1] = { EbmlSemantic(true, false, EBML_INFO(KaxTagEntity)), }; -EbmlSemantic KaxTagEntity_ContextList[5] = +static const EbmlSemantic ContextList_KaxTagEntity[5] = { EbmlSemantic(true, true, EBML_INFO(KaxTagMultiEntityType)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiEntityName)), @@ -99,24 +100,24 @@ EbmlSemantic KaxTagEntity_ContextList[5] = EbmlSemantic(false, true, EBML_INFO(KaxTagMultiEntityAddress)), }; -EbmlSemantic KaxTagMultiIdentifier_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiIdentifier[1] = { EbmlSemantic(true, false, EBML_INFO(KaxTagIdentifier)), }; -EbmlSemantic KaxTagIdentifier_ContextList[3] = +static const EbmlSemantic ContextList_KaxTagIdentifier[3] = { EbmlSemantic(true, true, EBML_INFO(KaxTagMultiIdentifierType)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiIdentifierBinary)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiIdentifierString)), }; -EbmlSemantic KaxTagMultiLegal_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiLegal[1] = { EbmlSemantic(true, false, EBML_INFO(KaxTagLegal)), }; -EbmlSemantic KaxTagLegal_ContextList[4] = +static const EbmlSemantic ContextList_KaxTagLegal[4] = { EbmlSemantic(true, true, EBML_INFO(KaxTagMultiLegalType)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiLegalContent)), @@ -124,12 +125,12 @@ EbmlSemantic KaxTagLegal_ContextList[4] = EbmlSemantic(false, true, EBML_INFO(KaxTagMultiLegalAddress)), }; -EbmlSemantic KaxTagMultiTitle_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiTitle[1] = { EbmlSemantic(true, false, EBML_INFO(KaxTagTitle)), }; -EbmlSemantic KaxTagTitle_ContextList[8] = +static const EbmlSemantic ContextList_KaxTagTitle[8] = { EbmlSemantic(true, true, EBML_INFO(KaxTagMultiTitleType)), EbmlSemantic(false, true, EBML_INFO(KaxTagMultiTitleName)), @@ -141,195 +142,82 @@ EbmlSemantic KaxTagTitle_ContextList[8] = EbmlSemantic(false, true, EBML_INFO(KaxTagMultiTitleLanguage)), }; -EbmlSemantic KaxTagMultiAttachment_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagMultiAttachment[1] = { EbmlSemantic(true, false, EBML_INFO(KaxTagAttachment)), }; -EbmlSemantic KaxTagAttachment_ContextList[1] = +static const EbmlSemantic ContextList_KaxTagAttachment[1] = { EbmlSemantic(false, true, EBML_INFO(KaxTagAttachmentID)), }; -const EbmlSemanticContext KaxTagMultiGlobal_Context = EbmlSemanticContext(countof(KaxTagMultiGlobal_ContextList), KaxTagMultiGlobal_ContextList, NULL, *GetKaxGlobal_Context, NULL); - -const EbmlSemanticContext KaxTagMultiComment_Context = EbmlSemanticContext(countof(KaxTagMultiComment_ContextList), KaxTagMultiComment_ContextList, &KaxTag_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiComment)); -const EbmlSemanticContext KaxTagMultiCommentName_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiComment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiCommentName)); -const EbmlSemanticContext KaxTagMultiCommentComments_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiComment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiCommentComments)); -const EbmlSemanticContext KaxTagMultiCommentLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiComment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiCommentLanguage)); - -const EbmlSemanticContext KaxTagMultiCommercial_Context = EbmlSemanticContext(countof(KaxTagMultiCommercial_ContextList), KaxTagMultiCommercial_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiCommercial)); -const EbmlSemanticContext KaxTagCommercial_Context = EbmlSemanticContext(countof(KaxTagCommercial_ContextList), KaxTagCommercial_ContextList, &KaxTagMultiCommercial_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagCommercial)); -const EbmlSemanticContext KaxTagMultiCommercialType_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiCommercialType)); -const EbmlSemanticContext KaxTagMultiCommercialAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiCommercialAddress)); -const EbmlSemanticContext KaxTagMultiCommercialURL_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiCommercialURL)); -const EbmlSemanticContext KaxTagMultiCommercialEmail_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiCommercialEmail)); - -const EbmlSemanticContext KaxTagMultiPrice_Context = EbmlSemanticContext(countof(KaxTagMultiPrice_ContextList), KaxTagMultiPrice_ContextList, &KaxTagCommercial_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiPrice)); -const EbmlSemanticContext KaxTagMultiPriceCurrency_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiPrice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiPriceCurrency)); -const EbmlSemanticContext KaxTagMultiPriceAmount_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiPrice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiPriceAmount)); -const EbmlSemanticContext KaxTagMultiPricePriceDate_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiPrice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiPricePriceDate)); - -const EbmlSemanticContext KaxTagMultiDate_Context = EbmlSemanticContext(countof(KaxTagMultiDate_ContextList), KaxTagMultiDate_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiDate)); -const EbmlSemanticContext KaxTagDate_Context = EbmlSemanticContext(countof(KaxTagDate_ContextList), KaxTagDate_ContextList, &KaxTagMultiDate_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagDate)); -const EbmlSemanticContext KaxTagMultiDateType_Context = EbmlSemanticContext(0, NULL, &KaxTagDate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiDateType)); -const EbmlSemanticContext KaxTagMultiDateDateBegin_Context = EbmlSemanticContext(0, NULL, &KaxTagDate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiDateDateBegin)); -const EbmlSemanticContext KaxTagMultiDateDateEnd_Context = EbmlSemanticContext(0, NULL, &KaxTagDate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiDateDateEnd)); - -const EbmlSemanticContext KaxTagMultiEntity_Context = EbmlSemanticContext(countof(KaxTagMultiEntity_ContextList), KaxTagMultiEntity_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiEntity)); -const EbmlSemanticContext KaxTagEntity_Context = EbmlSemanticContext(countof(KaxTagEntity_ContextList), KaxTagEntity_ContextList, &KaxTagMultiEntity_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagEntity)); -const EbmlSemanticContext KaxTagMultiEntityType_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiEntityType)); -const EbmlSemanticContext KaxTagMultiEntityName_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiEntityName)); -const EbmlSemanticContext KaxTagMultiEntityURL_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiEntityURL)); -const EbmlSemanticContext KaxTagMultiEntityEmail_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiEntityEmail)); -const EbmlSemanticContext KaxTagMultiEntityAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiEntityAddress)); - -const EbmlSemanticContext KaxTagMultiIdentifier_Context = EbmlSemanticContext(countof(KaxTagMultiIdentifier_ContextList), KaxTagMultiIdentifier_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiIdentifier)); -const EbmlSemanticContext KaxTagIdentifier_Context = EbmlSemanticContext(countof(KaxTagIdentifier_ContextList), KaxTagIdentifier_ContextList, &KaxTagMultiIdentifier_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagIdentifier)); -const EbmlSemanticContext KaxTagMultiIdentifierType_Context = EbmlSemanticContext(0, NULL, &KaxTagIdentifier_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiIdentifierType)); -const EbmlSemanticContext KaxTagMultiIdentifierBinary_Context = EbmlSemanticContext(0, NULL, &KaxTagIdentifier_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiIdentifierBinary)); -const EbmlSemanticContext KaxTagMultiIdentifierString_Context = EbmlSemanticContext(0, NULL, &KaxTagIdentifier_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiIdentifierString)); - -const EbmlSemanticContext KaxTagMultiLegal_Context = EbmlSemanticContext(countof(KaxTagMultiLegal_ContextList), KaxTagMultiLegal_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiLegal)); -const EbmlSemanticContext KaxTagLegal_Context = EbmlSemanticContext(countof(KaxTagLegal_ContextList), KaxTagLegal_ContextList, &KaxTagMultiLegal_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagLegal)); -const EbmlSemanticContext KaxTagMultiLegalType_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiLegalType)); -const EbmlSemanticContext KaxTagMultiLegalContent_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiLegalContent)); -const EbmlSemanticContext KaxTagMultiLegalURL_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiLegalURL)); -const EbmlSemanticContext KaxTagMultiLegalAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiLegalAddress)); - -const EbmlSemanticContext KaxTagMultiTitle_Context = EbmlSemanticContext(countof(KaxTagMultiTitle_ContextList), KaxTagMultiTitle_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiTitle)); -const EbmlSemanticContext KaxTagTitle_Context = EbmlSemanticContext(countof(KaxTagTitle_ContextList), KaxTagTitle_ContextList, &KaxTagMultiTitle_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagTitle)); -const EbmlSemanticContext KaxTagMultiTitleType_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleType)); -const EbmlSemanticContext KaxTagMultiTitleName_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleName)); -const EbmlSemanticContext KaxTagMultiTitleSubTitle_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleSubTitle)); -const EbmlSemanticContext KaxTagMultiTitleEdition_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleEdition)); -const EbmlSemanticContext KaxTagMultiTitleAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleAddress)); -const EbmlSemanticContext KaxTagMultiTitleURL_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleURL)); -const EbmlSemanticContext KaxTagMultiTitleEmail_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleEmail)); -const EbmlSemanticContext KaxTagMultiTitleLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagMultiTitleLanguage)); - -const EbmlSemanticContext KaxTagMultiAttachment_Context = EbmlSemanticContext(countof(KaxTagMultiAttachment_ContextList), KaxTagMultiAttachment_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagMultiAttachment)); -const EbmlSemanticContext KaxTagAttachment_Context = EbmlSemanticContext(countof(KaxTagAttachment_ContextList), KaxTagAttachment_ContextList, &KaxTagMultiAttachment_Context, *GetKaxTagsGlobal_Context, &EBML_INFO(KaxTagAttachment)); -const EbmlSemanticContext KaxTagAttachmentID_Context = EbmlSemanticContext(0, NULL, &KaxTagAttachment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTagAttachmentID)); - -//The Muti Elements -EbmlId KaxTagMultiComment_TheId (0x5B7B, 2); -EbmlId KaxTagMultiCommentName_TheId (0x5F7D, 2); -EbmlId KaxTagMultiCommentComments_TheId (0x5F7C, 2); -EbmlId KaxTagMultiCommentLanguage_TheId (0x22B59D, 3); - -EbmlId KaxTagMultiCommercial_TheId (0x4DC7, 2); -EbmlId KaxTagCommercial_TheId (0x4EC7, 2); -EbmlId KaxTagMultiCommercialType_TheId (0x5BD7, 2); -EbmlId KaxTagMultiCommercialAddress_TheId (0x5BBB, 2); -EbmlId KaxTagMultiCommercialURL_TheId (0x5BDA, 2); -EbmlId KaxTagMultiCommercialEmail_TheId (0x5BC0, 2); - -EbmlId KaxTagMultiPrice_TheId (0x5BC3, 2); -EbmlId KaxTagMultiPriceCurrency_TheId (0x5B6C, 2); -EbmlId KaxTagMultiPriceAmount_TheId (0x5B6E, 2); -EbmlId KaxTagMultiPricePriceDate_TheId (0x5B6F, 2); - -EbmlId KaxTagMultiDate_TheId (0x4DC8, 2); -EbmlId KaxTagDate_TheId (0x4EC8, 2); -EbmlId KaxTagMultiDateType_TheId (0x5BD8, 2); -EbmlId KaxTagMultiDateDateBegin_TheId (0x4460, 2); -EbmlId KaxTagMultiDateDateEnd_TheId (0x4462, 2); - -EbmlId KaxTagMultiEntity_TheId (0x4DC9, 2); -EbmlId KaxTagEntity_TheId (0x4EC9, 2); -EbmlId KaxTagMultiEntityType_TheId (0x5BD9, 2); -EbmlId KaxTagMultiEntityName_TheId (0x5BED, 2); -EbmlId KaxTagMultiEntityAddress_TheId (0x5BDC, 2); -EbmlId KaxTagMultiEntityURL_TheId (0x5BDB, 2); -EbmlId KaxTagMultiEntityEmail_TheId (0x5BC1, 2); - -EbmlId KaxTagMultiIdentifier_TheId (0x4DC6, 2); -EbmlId KaxTagIdentifier_TheId (0x4EC6, 2); -EbmlId KaxTagMultiIdentifierType_TheId (0x5BAD, 2); -EbmlId KaxTagMultiIdentifierBinary_TheId (0x6B67, 2); -EbmlId KaxTagMultiIdentifierString_TheId (0x6B68, 2); - -EbmlId KaxTagMultiLegal_TheId (0x4DC5, 2); -EbmlId KaxTagLegal_TheId (0x4EC5, 2); -EbmlId KaxTagMultiLegalType_TheId (0x5BBD, 2); -EbmlId KaxTagMultiLegalContent_TheId (0x5BB2, 2); -EbmlId KaxTagMultiLegalURL_TheId (0x5B34, 2); -EbmlId KaxTagMultiLegalAddress_TheId (0x5B9B, 2); - -EbmlId KaxTagMultiTitle_TheId (0x4DC4, 2); -EbmlId KaxTagTitle_TheId (0x4EC4, 2); -EbmlId KaxTagMultiTitleType_TheId (0x5B7D, 2); -EbmlId KaxTagMultiTitleName_TheId (0x5BB9, 2); -EbmlId KaxTagMultiTitleSubTitle_TheId (0x5B5B, 2); -EbmlId KaxTagMultiTitleEdition_TheId (0x5BAE, 2); -EbmlId KaxTagMultiTitleAddress_TheId (0x5B33, 2); -EbmlId KaxTagMultiTitleURL_TheId (0x5BA9, 2); -EbmlId KaxTagMultiTitleEmail_TheId (0x5BC9, 2); -EbmlId KaxTagMultiTitleLanguage_TheId (0x22B59E, 3); - -EbmlId KaxTagMultiAttachment_TheId (0x4DC3, 2); -EbmlId KaxTagAttachment_TheId (0x4EC3, 2); -EbmlId KaxTagAttachmentID_TheId (0x5BA0, 2); - -const EbmlCallbacks KaxTagMultiComment::ClassInfos(KaxTagMultiComment::Create, KaxTagMultiComment_TheId, "MultiComment", KaxTagMultiComment_Context); -const EbmlCallbacks KaxTagMultiCommentName::ClassInfos(KaxTagMultiCommentName::Create, KaxTagMultiCommentName_TheId, "MultiCommentName", KaxTagMultiCommentName_Context); -const EbmlCallbacks KaxTagMultiCommentComments::ClassInfos(KaxTagMultiCommentComments::Create, KaxTagMultiCommentComments_TheId, "MultiCommentComments", KaxTagMultiCommentComments_Context); -const EbmlCallbacks KaxTagMultiCommentLanguage::ClassInfos(KaxTagMultiCommentLanguage::Create, KaxTagMultiCommentLanguage_TheId, "MultiCommentLanguage", KaxTagMultiCommentLanguage_Context); - -const EbmlCallbacks KaxTagMultiCommercial::ClassInfos(KaxTagMultiCommercial::Create, KaxTagMultiCommercial_TheId, "MultiCommercial", KaxTagMultiCommercial_Context); -const EbmlCallbacks KaxTagCommercial::ClassInfos(KaxTagCommercial::Create, KaxTagCommercial_TheId, "Commercial", KaxTagCommercial_Context); -const EbmlCallbacks KaxTagMultiCommercialType::ClassInfos(KaxTagMultiCommercialType::Create, KaxTagMultiCommercialType_TheId, "MultiCommercialType", KaxTagMultiCommercialType_Context); -const EbmlCallbacks KaxTagMultiCommercialAddress::ClassInfos(KaxTagMultiCommercialAddress::Create, KaxTagMultiCommercialAddress_TheId, "MultiCommercialAddress", KaxTagMultiCommercialAddress_Context); -const EbmlCallbacks KaxTagMultiCommercialURL::ClassInfos(KaxTagMultiCommercialURL::Create, KaxTagMultiCommercialURL_TheId, "MultiCommercialURL", KaxTagMultiCommercialURL_Context); -const EbmlCallbacks KaxTagMultiCommercialEmail::ClassInfos(KaxTagMultiCommercialEmail::Create, KaxTagMultiCommercialEmail_TheId, "MultiCommercialEmail", KaxTagMultiCommercialEmail_Context); - -const EbmlCallbacks KaxTagMultiPrice::ClassInfos(KaxTagMultiPrice::Create, KaxTagMultiPrice_TheId, "MultiPrice", KaxTagMultiPrice_Context); -const EbmlCallbacks KaxTagMultiPriceCurrency::ClassInfos(KaxTagMultiPriceCurrency::Create, KaxTagMultiPriceCurrency_TheId, "MultiPriceCurrency", KaxTagMultiPriceCurrency_Context); -const EbmlCallbacks KaxTagMultiPriceAmount::ClassInfos(KaxTagMultiPriceAmount::Create, KaxTagMultiPriceAmount_TheId, "MultiPriceAmount", KaxTagMultiPriceAmount_Context); -const EbmlCallbacks KaxTagMultiPricePriceDate::ClassInfos(KaxTagMultiPricePriceDate::Create, KaxTagMultiPricePriceDate_TheId, "MultiPricePriceDate", KaxTagMultiPricePriceDate_Context); - -const EbmlCallbacks KaxTagMultiDate::ClassInfos(KaxTagMultiDate::Create, KaxTagMultiDate_TheId, "MultiDate", KaxTagMultiDate_Context); -const EbmlCallbacks KaxTagDate::ClassInfos(KaxTagDate::Create, KaxTagDate_TheId, "Date", KaxTagDate_Context); -const EbmlCallbacks KaxTagMultiDateType::ClassInfos(KaxTagMultiDateType::Create, KaxTagMultiDateType_TheId, "MultiDateType", KaxTagMultiDateType_Context); -const EbmlCallbacks KaxTagMultiDateDateBegin::ClassInfos(KaxTagMultiDateDateBegin::Create, KaxTagMultiDateDateBegin_TheId, "MultiDateDateBegin", KaxTagMultiDateDateBegin_Context); -const EbmlCallbacks KaxTagMultiDateDateEnd::ClassInfos(KaxTagMultiDateDateEnd::Create, KaxTagMultiDateDateEnd_TheId, "MultiDateDateEnd", KaxTagMultiDateDateEnd_Context); - -const EbmlCallbacks KaxTagMultiEntity::ClassInfos(KaxTagMultiEntity::Create, KaxTagMultiEntity_TheId, "MultiEntity", KaxTagMultiEntity_Context); -const EbmlCallbacks KaxTagEntity::ClassInfos(KaxTagEntity::Create, KaxTagEntity_TheId, "Entity", KaxTagEntity_Context); -const EbmlCallbacks KaxTagMultiEntityType::ClassInfos(KaxTagMultiEntityType::Create, KaxTagMultiEntityType_TheId, "MultiEntityType", KaxTagMultiEntityType_Context); -const EbmlCallbacks KaxTagMultiEntityName::ClassInfos(KaxTagMultiEntityName::Create, KaxTagMultiEntityName_TheId, "MultiEntityName", KaxTagMultiEntityName_Context); -const EbmlCallbacks KaxTagMultiEntityURL::ClassInfos(KaxTagMultiEntityURL::Create, KaxTagMultiEntityURL_TheId, "MultiEntityURL", KaxTagMultiEntityURL_Context); -const EbmlCallbacks KaxTagMultiEntityEmail::ClassInfos(KaxTagMultiEntityEmail::Create, KaxTagMultiEntityEmail_TheId, "MultiEntityEmail", KaxTagMultiEntityEmail_Context); -const EbmlCallbacks KaxTagMultiEntityAddress::ClassInfos(KaxTagMultiEntityAddress::Create, KaxTagMultiEntityAddress_TheId, "MultiEntityAddress", KaxTagMultiEntityAddress_Context); - -const EbmlCallbacks KaxTagMultiIdentifier::ClassInfos(KaxTagMultiIdentifier::Create, KaxTagMultiIdentifier_TheId, "MultiIdentifier", KaxTagMultiIdentifier_Context); -const EbmlCallbacks KaxTagIdentifier::ClassInfos(KaxTagIdentifier::Create, KaxTagIdentifier_TheId, "Identifier", KaxTagIdentifier_Context); -const EbmlCallbacks KaxTagMultiIdentifierType::ClassInfos(KaxTagMultiIdentifierType::Create, KaxTagMultiIdentifierType_TheId, "TagMultiIdentifierType", KaxTagMultiIdentifierType_Context); -const EbmlCallbacks KaxTagMultiIdentifierBinary::ClassInfos(KaxTagMultiIdentifierBinary::Create, KaxTagMultiIdentifierBinary_TheId, "MultiIdentifierBinary", KaxTagMultiIdentifierBinary_Context); -const EbmlCallbacks KaxTagMultiIdentifierString::ClassInfos(KaxTagMultiIdentifierString::Create, KaxTagMultiIdentifierString_TheId, "MultiIdentifierString", KaxTagMultiIdentifierString_Context); - -const EbmlCallbacks KaxTagMultiLegal::ClassInfos(KaxTagMultiLegal::Create, KaxTagMultiLegal_TheId, "MultiLegal", KaxTagMultiLegal_Context); -const EbmlCallbacks KaxTagLegal::ClassInfos(KaxTagLegal::Create, KaxTagLegal_TheId, "Legal", KaxTagLegal_Context); -const EbmlCallbacks KaxTagMultiLegalType::ClassInfos(KaxTagMultiLegalType::Create, KaxTagMultiLegalType_TheId, "KaxTagMultiLegalType", KaxTagMultiLegalType_Context); -const EbmlCallbacks KaxTagMultiLegalContent::ClassInfos(KaxTagMultiLegalContent::Create, KaxTagMultiLegalContent_TheId, "TagMultiLegalContent", KaxTagMultiLegalContent_Context); -const EbmlCallbacks KaxTagMultiLegalURL::ClassInfos(KaxTagMultiLegalURL::Create, KaxTagMultiLegalURL_TheId, "KaxTagMultiLegalURL", KaxTagMultiLegalURL_Context); -const EbmlCallbacks KaxTagMultiLegalAddress::ClassInfos(KaxTagMultiLegalAddress::Create, KaxTagMultiLegalAddress_TheId, "KaxTagMultiLegalAddress", KaxTagMultiLegalAddress_Context); - -const EbmlCallbacks KaxTagMultiTitle::ClassInfos(KaxTagMultiTitle::Create, KaxTagMultiTitle_TheId, "MultiEntity", KaxTagMultiTitle_Context); -const EbmlCallbacks KaxTagTitle::ClassInfos(KaxTagTitle::Create, KaxTagTitle_TheId, "Entity", KaxTagTitle_Context); -const EbmlCallbacks KaxTagMultiTitleType::ClassInfos(KaxTagMultiTitleType::Create, KaxTagMultiTitleType_TheId, "MultiTitleType", KaxTagMultiTitleType_Context); -const EbmlCallbacks KaxTagMultiTitleName::ClassInfos(KaxTagMultiTitleName::Create, KaxTagMultiTitleName_TheId, "MultiTitleName", KaxTagMultiTitleName_Context); -const EbmlCallbacks KaxTagMultiTitleSubTitle::ClassInfos(KaxTagMultiTitleSubTitle::Create, KaxTagMultiTitleSubTitle_TheId, "MultiTitleSubTitle", KaxTagMultiTitleSubTitle_Context); -const EbmlCallbacks KaxTagMultiTitleEdition::ClassInfos(KaxTagMultiTitleEdition::Create, KaxTagMultiTitleEdition_TheId, "MultiTitleEdition", KaxTagMultiTitleEdition_Context); -const EbmlCallbacks KaxTagMultiTitleAddress::ClassInfos(KaxTagMultiTitleAddress::Create, KaxTagMultiTitleAddress_TheId, "MultiTitleAddress", KaxTagMultiTitleAddress_Context); -const EbmlCallbacks KaxTagMultiTitleURL::ClassInfos(KaxTagMultiTitleURL::Create, KaxTagMultiTitleURL_TheId, "MultiTitleURL", KaxTagMultiTitleURL_Context); -const EbmlCallbacks KaxTagMultiTitleEmail::ClassInfos(KaxTagMultiTitleEmail::Create, KaxTagMultiTitleEmail_TheId, "MultiTitleEmail", KaxTagMultiTitleEmail_Context); -const EbmlCallbacks KaxTagMultiTitleLanguage::ClassInfos(KaxTagMultiTitleLanguage::Create, KaxTagMultiTitleLanguage_TheId, "MultiTitleLanguage", KaxTagMultiTitleLanguage_Context); - -const EbmlCallbacks KaxTagMultiAttachment::ClassInfos(KaxTagMultiAttachment::Create, KaxTagMultiAttachment_TheId, "TagMultiAttachment", KaxTagMultiAttachment_Context); -const EbmlCallbacks KaxTagAttachment::ClassInfos(KaxTagAttachment::Create, KaxTagAttachment_TheId, "TagAttachment", KaxTagAttachment_Context); -const EbmlCallbacks KaxTagAttachmentID::ClassInfos(KaxTagAttachmentID::Create, KaxTagAttachmentID_TheId, "TagAttachmentID", KaxTagAttachmentID_Context); + +DEFINE_MKX_CONTEXT(KaxTagMultiGlobal); + +const EbmlSemanticContext & GetKaxTagsGlobal_Context() +{ + return Context_KaxTagMultiGlobal; +} + + +DEFINE_MKX_MASTER (KaxTagMultiComment, 0x5B7B, 2, KaxTag, "MultiComment"); +DEFINE_MKX_STRING (KaxTagMultiCommentName, 0x5F7D, 2, KaxTagMultiComment, "MultiCommentName"); +DEFINE_MKX_UNISTRING(KaxTagMultiCommentComments, 0x5F7C, 2, KaxTagMultiComment, "MultiCommentComments"); +DEFINE_MKX_STRING (KaxTagMultiCommentLanguage, 0x22B59D, 3, KaxTagMultiComment, "MultiCommentLanguage"); + +DEFINE_xxx_MASTER (KaxTagMultiCommercial, 0x4DC7, 2, KaxTag, "MultiCommercial", GetKaxTagsGlobal_Context); +DEFINE_xxx_MASTER (KaxTagCommercial, 0x4EC7, 2, KaxTagMultiCommercial, "Commercial", GetKaxTagsGlobal_Context); +DEFINE_MKX_UINTEGER (KaxTagMultiCommercialType, 0x5BD7, 2, KaxTagCommercial, "MultiCommercialType"); +DEFINE_MKX_UNISTRING(KaxTagMultiCommercialAddress, 0x5BBB, 2, KaxTagCommercial, "MultiCommercialAddress"); +DEFINE_MKX_STRING (KaxTagMultiCommercialURL, 0x5BDA, 2, KaxTagCommercial, "MultiCommercialURL"); +DEFINE_MKX_STRING (KaxTagMultiCommercialEmail, 0x5BC0, 2, KaxTagCommercial, "MultiCommercialEmail"); +DEFINE_xxx_MASTER (KaxTagMultiPrice, 0x5BC3, 2, KaxTagCommercial, "MultiPrice", GetKaxTagsGlobal_Context); +DEFINE_MKX_STRING (KaxTagMultiPriceCurrency, 0x5B6C, 2, KaxTagMultiPrice, "MultiPriceCurrency"); +DEFINE_MKX_FLOAT (KaxTagMultiPriceAmount, 0x5B6E, 2, KaxTagMultiPrice, "MultiPriceAmount"); +DEFINE_MKX_DATE (KaxTagMultiPricePriceDate, 0x5B6F, 2, KaxTagMultiPrice, "MultiPricePriceDate"); + +DEFINE_xxx_MASTER (KaxTagMultiDate, 0x4DC8, 2, KaxTag, "MultiDate", GetKaxTagsGlobal_Context); +DEFINE_xxx_MASTER (KaxTagDate, 0x4EC8, 2, KaxTagMultiDate, "Date", GetKaxTagsGlobal_Context); +DEFINE_MKX_UINTEGER (KaxTagMultiDateType, 0x5BD8, 2, KaxTagDate, "MultiDateType"); +DEFINE_MKX_DATE (KaxTagMultiDateDateBegin, 0x4460, 2, KaxTagDate, "MultiDateDateBegin"); +DEFINE_MKX_DATE (KaxTagMultiDateDateEnd, 0x4462, 2, KaxTagDate, "MultiDateDateEnd"); + +DEFINE_xxx_MASTER (KaxTagMultiEntity, 0x4DC9, 2, KaxTag, "MultiEntity", GetKaxTagsGlobal_Context); +DEFINE_xxx_MASTER (KaxTagEntity, 0x4EC9, 2, KaxTagMultiEntity, "Entity", GetKaxTagsGlobal_Context); +DEFINE_MKX_UINTEGER (KaxTagMultiEntityType, 0x5BD9, 2, KaxTagEntity, "MultiEntityType"); +DEFINE_MKX_UNISTRING(KaxTagMultiEntityName, 0x5BED, 2, KaxTagEntity, "MultiEntityName"); +DEFINE_MKX_STRING (KaxTagMultiEntityURL, 0x5BDB, 2, KaxTagEntity, "MultiEntityURL"); +DEFINE_MKX_STRING (KaxTagMultiEntityEmail, 0x5BC1, 2, KaxTagEntity, "MultiEntityEmail"); +DEFINE_MKX_UNISTRING(KaxTagMultiEntityAddress, 0x5BDC, 2, KaxTagEntity, "MultiEntityAddress"); + +DEFINE_xxx_MASTER (KaxTagMultiIdentifier, 0x4DC6, 2, KaxTag, "MultiIdentifier", GetKaxTagsGlobal_Context); +DEFINE_xxx_MASTER (KaxTagIdentifier, 0x4EC6, 2, KaxTagMultiIdentifier, "Identifier", GetKaxTagsGlobal_Context); +DEFINE_MKX_UINTEGER (KaxTagMultiIdentifierType, 0x5BAD, 2, KaxTagIdentifier, "MultiIdentifierType"); +DEFINE_MKX_BINARY (KaxTagMultiIdentifierBinary, 0x6B67, 2, KaxTagIdentifier, "MultiIdentifierBinary"); +DEFINE_MKX_UNISTRING(KaxTagMultiIdentifierString, 0x6B68, 2, KaxTagIdentifier, "MultiIdentifierString"); + +DEFINE_xxx_MASTER (KaxTagMultiLegal, 0x4DC5, 2, KaxTag, "MultiLegal", GetKaxTagsGlobal_Context); +DEFINE_xxx_MASTER (KaxTagLegal, 0x4EC5, 2, KaxTagMultiLegal, "Legal", GetKaxTagsGlobal_Context); +DEFINE_MKX_UINTEGER (KaxTagMultiLegalType, 0x5BBD, 2, KaxTagLegal, "MultiLegalType"); +DEFINE_MKX_UNISTRING(KaxTagMultiLegalContent, 0x5BB2, 2, KaxTagLegal, "MultiLegalContent"); +DEFINE_MKX_STRING (KaxTagMultiLegalURL, 0x5B34, 2, KaxTagLegal, "MultiLegalURL"); +DEFINE_MKX_UNISTRING(KaxTagMultiLegalAddress, 0x5B9B, 2, KaxTagLegal, "MultiLegalAddress"); + +DEFINE_xxx_MASTER (KaxTagMultiTitle, 0x4DC4, 2, KaxTag, "MultiTitle", GetKaxTagsGlobal_Context); +DEFINE_xxx_MASTER (KaxTagTitle, 0x4EC4, 2, KaxTagMultiTitle, "Title", GetKaxTagsGlobal_Context); +DEFINE_MKX_UINTEGER (KaxTagMultiTitleType, 0x5B7D, 2, KaxTagTitle, "MultiTitleType"); +DEFINE_MKX_UNISTRING(KaxTagMultiTitleName, 0x5BB9, 2, KaxTagTitle, "MultiTitleName"); +DEFINE_MKX_UNISTRING(KaxTagMultiTitleSubTitle, 0x5B5B, 2, KaxTagTitle, "MultiTitleSubTitle"); +DEFINE_MKX_UNISTRING(KaxTagMultiTitleEdition, 0x5BAE, 2, KaxTagTitle, "MultiTitleEdition"); +DEFINE_MKX_UNISTRING(KaxTagMultiTitleAddress, 0x5B33, 2, KaxTagTitle, "MultiTitleAddress"); +DEFINE_MKX_STRING (KaxTagMultiTitleURL, 0x5BA9, 2, KaxTagTitle, "MultiTitleURL"); +DEFINE_MKX_STRING (KaxTagMultiTitleEmail, 0x5BC9, 2, KaxTagTitle, "MultiTitleEmail"); +DEFINE_MKX_STRING (KaxTagMultiTitleLanguage, 0x22B59E, 3, KaxTagTitle, "MultiTitleLanguage"); + +DEFINE_xxx_MASTER (KaxTagMultiAttachment, 0x4DC3, 2, KaxTag, "MultiAttachment", GetKaxTagsGlobal_Context); +DEFINE_xxx_MASTER (KaxTagAttachment, 0x4EC3, 2, KaxTagMultiAttachment, "Attachment", GetKaxTagsGlobal_Context); +DEFINE_MKX_UINTEGER (KaxTagAttachmentID, 0x5BA0, 2, KaxTagAttachment, "AttachmentID"); KaxTagMultiComment::KaxTagMultiComment() :EbmlMaster(KaxTagMultiComment_Context) @@ -396,9 +284,4 @@ KaxTagAttachment::KaxTagAttachment() :EbmlMaster(KaxTagAttachment_Context) {} -const EbmlSemanticContext & GetKaxTagsGlobal_Context() -{ - return KaxTagMultiGlobal_Context; -} - END_LIBMATROSKA_NAMESPACE