]> granicus.if.org Git - libmatroska/commitdiff
add some macros to access the EBML ID/Context and use them
authorSteve Lhomme <slhomme@matroska.org>
Mon, 15 Mar 2010 16:07:14 +0000 (16:07 +0000)
committerSteve Lhomme <slhomme@matroska.org>
Mon, 15 Mar 2010 16:07:14 +0000 (16:07 +0000)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@14 a6f86f6d-0131-4f8e-9e7b-e335508773d5

24 files changed:
matroska/KaxCluster.h
matroska/KaxTracks.h
matroska/KaxVersion.h
src/KaxAttached.cpp
src/KaxAttachments.cpp
src/KaxBlock.cpp
src/KaxBlockData.cpp
src/KaxChapters.cpp
src/KaxCluster.cpp
src/KaxClusterData.cpp
src/KaxContentEncoding.cpp
src/KaxCues.cpp
src/KaxCuesData.cpp
src/KaxInfo.cpp
src/KaxInfoData.cpp
src/KaxSeekHead.cpp
src/KaxSegment.cpp
src/KaxTag.cpp
src/KaxTagMulti.cpp
src/KaxTags.cpp
src/KaxTrackAudio.cpp
src/KaxTrackEntryData.cpp
src/KaxTrackVideo.cpp
src/KaxTracks.cpp

index b8596a07c6252ea0bc8df06052a1540ebdf09e5a..493147e6e64ccc8103e10ea85d513af9f255342e 100644 (file)
@@ -135,7 +135,7 @@ class MATROSKA_DLL_API KaxCluster : public EbmlMaster {
                bool SetSilentTrackUsed()
                {
                        bSilentTracksUsed = true;
-                       return FindFirstElt(KaxClusterSilentTracks::ClassInfos, true) != NULL;
+                       return FindFirstElt(EBML_INFO(KaxClusterSilentTracks), true) != NULL;
                }
 
                bool AddBlockBlob(KaxBlockBlob * NewBlob);
index 408736ddaec2fe3eb94d473ccdb446bd474ebe4c..bd2224cf897ac24e19e8e457d30adea4fa712a90 100644 (file)
@@ -65,7 +65,7 @@ class MATROSKA_DLL_API KaxTrackEntry : public EbmlMaster {
                operator const EbmlId &() const {return ClassInfos.GlobalId;}
                EbmlElement * Clone() const {return new KaxTrackEntry(*this);}
 
-               EbmlUInteger & TrackNumber() const { return *(static_cast<EbmlUInteger *>(FindElt(KaxTrackNumber::ClassInfos))); }
+               EbmlUInteger & TrackNumber() const { return *(static_cast<EbmlUInteger *>(FindElt(EBML_INFO(KaxTrackNumber)))); }
 
                void EnableLacing(bool bEnable = true);
 
@@ -73,7 +73,7 @@ class MATROSKA_DLL_API KaxTrackEntry : public EbmlMaster {
                        \note lacing set by default
                */
                inline bool LacingEnabled() const {
-                       KaxTrackFlagLacing * myLacing = static_cast<KaxTrackFlagLacing *>(FindFirstElt(KaxTrackFlagLacing::ClassInfos));
+                       KaxTrackFlagLacing * myLacing = static_cast<KaxTrackFlagLacing *>(FindFirstElt(EBML_INFO(KaxTrackFlagLacing)));
                        return((myLacing == NULL) || (uint8(*myLacing) != 0));
                }
 
index 58add0da0bade9d5971e4debd745529f041d465e..9e7d6186af2f938f3c8b4511b0635bd26ac2bc2b 100644 (file)
@@ -40,9 +40,9 @@
 
 START_LIBMATROSKA_NAMESPACE
 
-#define LIBMATROSKA_VERSION 0x000801
+#define LIBMATROSKA_VERSION 0x000900
 
-static const std::string KaxCodeVersion = "0.8.1";
+static const std::string KaxCodeVersion = "0.9.0";
 static const std::string KaxCodeDate    = __TIMESTAMP__;
 
 /*!
index d725e39f4b6e0365d3215179c6e70b4c9f736aa5..03ecc4c686b76486178f5d3904c2253e145476cc 100644 (file)
@@ -47,13 +47,13 @@ EbmlSemantic KaxAttached_ContextList[5] =
 EbmlSemantic KaxAttached_ContextList[6] =
 #endif // MATROSKA_VERSION
 {
-       EbmlSemantic(true,  true, KaxFileName::ClassInfos),
-       EbmlSemantic(true,  true, KaxMimeType::ClassInfos),
-       EbmlSemantic(true,  true, KaxFileData::ClassInfos),
-       EbmlSemantic(false, true, KaxFileDescription::ClassInfos),
-       EbmlSemantic(true,  true, KaxFileUID::ClassInfos),
+       EbmlSemantic(true,  true, EBML_INFO(KaxFileName)),
+       EbmlSemantic(true,  true, EBML_INFO(KaxMimeType)),
+       EbmlSemantic(true,  true, EBML_INFO(KaxFileData)),
+       EbmlSemantic(false, true, EBML_INFO(KaxFileDescription)),
+       EbmlSemantic(true,  true, EBML_INFO(KaxFileUID)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(false, true, KaxFileReferral::ClassInfos),
+       EbmlSemantic(false, true, EBML_INFO(KaxFileReferral)),
 #endif // MATROSKA_VERSION
 };
 
@@ -67,14 +67,14 @@ EbmlId KaxFileUID_TheId        (0x46AE, 2);
 EbmlId KaxFileReferral_TheId   (0x4675, 2);
 #endif // MATROSKA_VERSION
 
-const EbmlSemanticContext KaxAttached_Context = EbmlSemanticContext(countof(KaxAttached_ContextList), KaxAttached_ContextList, &KaxAttachments_Context, *GetKaxGlobal_Context, &KaxAttached::ClassInfos);
-const EbmlSemanticContext KaxFileDescription_Context = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &KaxFileDescription::ClassInfos);
-const EbmlSemanticContext KaxFileName_Context        = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &KaxFileName::ClassInfos);
-const EbmlSemanticContext KaxMimeType_Context        = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &KaxMimeType::ClassInfos);
-const EbmlSemanticContext KaxFileData_Context        = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &KaxFileData::ClassInfos);
-const EbmlSemanticContext KaxFileUID_Context         = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &KaxFileUID::ClassInfos);
+const EbmlSemanticContext KaxAttached_Context = EbmlSemanticContext(countof(KaxAttached_ContextList), KaxAttached_ContextList, &KaxAttachments_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxAttached));
+const EbmlSemanticContext KaxFileDescription_Context = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxFileDescription));
+const EbmlSemanticContext KaxFileName_Context        = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxFileName));
+const EbmlSemanticContext KaxMimeType_Context        = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxMimeType));
+const EbmlSemanticContext KaxFileData_Context        = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxFileData));
+const EbmlSemanticContext KaxFileUID_Context         = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxFileUID));
 #if MATROSKA_VERSION >= 2
-const EbmlSemanticContext KaxFileReferral_Context    = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &KaxFileReferral::ClassInfos);
+const EbmlSemanticContext KaxFileReferral_Context    = EbmlSemanticContext(0, NULL, &KaxAttachments_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxFileReferral));
 #endif // MATROSKA_VERSION
 
 const EbmlCallbacks KaxAttached::ClassInfos(KaxAttached::Create, KaxAttached_TheId, "AttachedFile", KaxAttached_Context);
index 4a654faeda81e9335aa7a8ba023f80bdccaef160..2dca49e38423858ba8145307235a51b8318fb931 100644 (file)
@@ -43,10 +43,10 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxAttachments_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxAttached::ClassInfos),        ///< EBMLVersion
+       EbmlSemantic(true, false, EBML_INFO(KaxAttached)),        ///< EBMLVersion
 };
 
-const EbmlSemanticContext KaxAttachments_Context = EbmlSemanticContext(countof(KaxAttachments_ContextList), KaxAttachments_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxAttachments::ClassInfos);
+const EbmlSemanticContext KaxAttachments_Context = EbmlSemanticContext(countof(KaxAttachments_ContextList), KaxAttachments_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxAttachments));
 
 EbmlId KaxAttachments_TheId(0x1941A469, 4);
 const EbmlCallbacks KaxAttachments::ClassInfos(KaxAttachments::Create, KaxAttachments_TheId, "Attachments", KaxAttachments_Context);
index 2e95c72e3a9fd68572090411aa61d85d145cef5d..33c8be3a9a332894250bc594cb7f931444b7ec55 100644 (file)
@@ -48,30 +48,30 @@ const EbmlSemantic KaxBlockGroup_ContextList[6] =
 const EbmlSemantic KaxBlockGroup_ContextList[9] =
 #endif // MATROSKA_VERSION
 {
-       EbmlSemantic(true,  true,  KaxBlock::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxBlock)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(false, true,  KaxBlockVirtual::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxBlockVirtual)),
 #endif // MATROSKA_VERSION
-       EbmlSemantic(false, true,  KaxBlockDuration::ClassInfos),
-       EbmlSemantic(false, true,  KaxSlices::ClassInfos),
-       EbmlSemantic(true,  true,  KaxReferencePriority::ClassInfos),
-       EbmlSemantic(false, false, KaxReferenceBlock::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxBlockDuration)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSlices)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxReferencePriority)),
+       EbmlSemantic(false, false, EBML_INFO(KaxReferenceBlock)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(false, true,  KaxReferenceVirtual::ClassInfos),
-       EbmlSemantic(false, true,  KaxCodecState::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxReferenceVirtual)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxCodecState)),
 #endif // MATROSKA_VERSION
-       EbmlSemantic(false, true,  KaxBlockAdditions::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxBlockAdditions)),
 };
 
 const EbmlSemantic KaxBlockAdditions_ContextList[1] =
 {
-       EbmlSemantic(true,  false,  KaxBlockMore::ClassInfos)
+       EbmlSemantic(true,  false,  EBML_INFO(KaxBlockMore))
 };
 
 const EbmlSemantic KaxBlockMore_ContextList[2] =
 {
-       EbmlSemantic(true,  true,  KaxBlockAddID::ClassInfos),
-       EbmlSemantic(true,  true,  KaxBlockAdditional::ClassInfos)
+       EbmlSemantic(true,  true,  EBML_INFO(KaxBlockAddID)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxBlockAdditional))
 };
 
 EbmlId KaxBlockGroup_TheId     (0xA0, 1);
@@ -87,18 +87,18 @@ EbmlId KaxBlockMore_TheId      (0xA6, 1);
 EbmlId KaxBlockAddID_TheId     (0xEE, 1);
 EbmlId KaxBlockAdditional_TheId(0xA5, 1);
 
-const EbmlSemanticContext KaxBlockGroup_Context = EbmlSemanticContext(countof(KaxBlockGroup_ContextList), KaxBlockGroup_ContextList, &KaxCluster_Context, *GetKaxGlobal_Context, &KaxBlockGroup::ClassInfos);
-const EbmlSemanticContext KaxBlock_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxBlock::ClassInfos);
-const EbmlSemanticContext KaxBlockDuration_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxBlockDuration::ClassInfos);
+const EbmlSemanticContext KaxBlockGroup_Context = EbmlSemanticContext(countof(KaxBlockGroup_ContextList), KaxBlockGroup_ContextList, &KaxCluster_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlockGroup));
+const EbmlSemanticContext KaxBlock_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlock));
+const EbmlSemanticContext KaxBlockDuration_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlockDuration));
 #if MATROSKA_VERSION >= 2
-const EbmlSemanticContext KaxSimpleBlock_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &KaxSimpleBlock::ClassInfos);
-const EbmlSemanticContext KaxBlockVirtual_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxBlockVirtual::ClassInfos);
-const EbmlSemanticContext KaxCodecState_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxCodecState::ClassInfos);
+const EbmlSemanticContext KaxSimpleBlock_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSimpleBlock));
+const EbmlSemanticContext KaxBlockVirtual_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlockVirtual));
+const EbmlSemanticContext KaxCodecState_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecState));
 #endif // MATROSKA_VERSION
-const EbmlSemanticContext KaxBlockAdditions_Context = EbmlSemanticContext(countof(KaxBlockAdditions_ContextList), KaxBlockAdditions_ContextList, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxBlockAdditions::ClassInfos);
-const EbmlSemanticContext KaxBlockMore_Context = EbmlSemanticContext(countof(KaxBlockMore_ContextList), KaxBlockMore_ContextList, &KaxBlockAdditions_Context, *GetKaxGlobal_Context, &KaxBlockMore::ClassInfos);
-const EbmlSemanticContext KaxBlockAddID_Context = EbmlSemanticContext(0, NULL, &KaxBlockMore_Context, *GetKaxGlobal_Context, &KaxBlockAddID::ClassInfos);
-const EbmlSemanticContext KaxBlockAdditional_Context = EbmlSemanticContext(0, NULL, &KaxBlockMore_Context, *GetKaxGlobal_Context, &KaxBlockAdditional::ClassInfos);
+const EbmlSemanticContext KaxBlockAdditions_Context = EbmlSemanticContext(countof(KaxBlockAdditions_ContextList), KaxBlockAdditions_ContextList, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlockAdditions));
+const EbmlSemanticContext KaxBlockMore_Context = EbmlSemanticContext(countof(KaxBlockMore_ContextList), KaxBlockMore_ContextList, &KaxBlockAdditions_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlockMore));
+const EbmlSemanticContext KaxBlockAddID_Context = EbmlSemanticContext(0, NULL, &KaxBlockMore_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlockAddID));
+const EbmlSemanticContext KaxBlockAdditional_Context = EbmlSemanticContext(0, NULL, &KaxBlockMore_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxBlockAdditional));
 
 const EbmlCallbacks KaxBlockGroup::ClassInfos(KaxBlockGroup::Create, KaxBlockGroup_TheId, "BlockGroup", KaxBlockGroup_Context);
 const EbmlCallbacks KaxBlock::ClassInfos(KaxBlock::Create, KaxBlock_TheId, "Block", KaxBlock_Context);
@@ -543,7 +543,7 @@ uint64 KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
                bLocalTimecodeUsed = true;
                cursor += 2;
 
-               if (EbmlId(*this) == KaxSimpleBlock::ClassInfos.GlobalId) {
+               if (EbmlId(*this) == EBML_ID(KaxSimpleBlock)) {
                        bIsKeyframe = (*cursor & 0x80) != 0;
                        bIsDiscardable = (*cursor & 0x01) != 0;
                }
@@ -650,7 +650,7 @@ uint64 KaxInternalBlock::ReadData(IOCallback & input, ScopeMode ReadFully)
                bLocalTimecodeUsed = true;
                cursor += 2;
 
-               if (EbmlId(*this) == KaxSimpleBlock::ClassInfos.GlobalId) {
+               if (EbmlId(*this) == EBML_ID(KaxSimpleBlock)) {
                        bIsKeyframe = (*cursor & 0x80) != 0;
                        bIsDiscardable = (*cursor & 0x01) != 0;
                }
@@ -824,14 +824,14 @@ bool KaxBlockGroup::AddFrame(const KaxTrackEntry & track, uint64 timecode, DataB
 uint64 KaxBlockGroup::GlobalTimecode() const
 {
        assert(ParentCluster != NULL); // impossible otherwise
-       KaxInternalBlock & MyBlock = *static_cast<KaxBlock *>(this->FindElt(KaxBlock::ClassInfos));
+       KaxInternalBlock & MyBlock = *static_cast<KaxBlock *>(this->FindElt(EBML_INFO(KaxBlock)));
        return MyBlock.GlobalTimecode();
 
 }
 
 uint16 KaxBlockGroup::TrackNumber() const
 {
-       KaxInternalBlock & MyBlock = *static_cast<KaxBlock *>(this->FindElt(KaxBlock::ClassInfos));
+       KaxInternalBlock & MyBlock = *static_cast<KaxBlock *>(this->FindElt(EBML_INFO(KaxBlock)));
        return MyBlock.TrackNum();
 }
 
@@ -850,7 +850,7 @@ uint64 KaxInternalBlock::ClusterPosition() const
 unsigned int KaxBlockGroup::ReferenceCount() const
 {
        unsigned int Result = 0;
-       KaxReferenceBlock * MyBlockAdds = static_cast<KaxReferenceBlock *>(FindFirstElt(KaxReferenceBlock::ClassInfos));
+       KaxReferenceBlock * MyBlockAdds = static_cast<KaxReferenceBlock *>(FindFirstElt(EBML_INFO(KaxReferenceBlock)));
        if (MyBlockAdds != NULL) {
                Result++;
                while ((MyBlockAdds = static_cast<KaxReferenceBlock *>(FindNextElt(*MyBlockAdds))) != NULL)
@@ -863,7 +863,7 @@ unsigned int KaxBlockGroup::ReferenceCount() const
 
 const KaxReferenceBlock & KaxBlockGroup::Reference(unsigned int Index) const
 {
-       KaxReferenceBlock * MyBlockAdds = static_cast<KaxReferenceBlock *>(FindFirstElt(KaxReferenceBlock::ClassInfos));
+       KaxReferenceBlock * MyBlockAdds = static_cast<KaxReferenceBlock *>(FindFirstElt(EBML_INFO(KaxReferenceBlock)));
        assert(MyBlockAdds != NULL); // call of a non existing reference
        
        while (Index != 0) {
@@ -876,7 +876,7 @@ const KaxReferenceBlock & KaxBlockGroup::Reference(unsigned int Index) const
 
 void KaxBlockGroup::ReleaseFrames()
 {
-       KaxInternalBlock & MyBlock = *static_cast<KaxBlock *>(this->FindElt(KaxBlock::ClassInfos));
+       KaxInternalBlock & MyBlock = *static_cast<KaxBlock *>(this->FindElt(EBML_INFO(KaxBlock)));
        MyBlock.ReleaseFrames();
 }
 
@@ -897,13 +897,13 @@ void KaxBlockGroup::SetBlockDuration(uint64 TimeLength)
 {
        assert(ParentTrack != NULL);
        int64 scale = ParentTrack->GlobalTimecodeScale();
-       KaxBlockDuration & myDuration = *static_cast<KaxBlockDuration *>(FindFirstElt(KaxBlockDuration::ClassInfos, true));
+       KaxBlockDuration & myDuration = *static_cast<KaxBlockDuration *>(FindFirstElt(EBML_INFO(KaxBlockDuration), true));
        *(static_cast<EbmlUInteger *>(&myDuration)) = TimeLength / uint64(scale);
 }
 
 bool KaxBlockGroup::GetBlockDuration(uint64 &TheTimecode) const
 {
-       KaxBlockDuration * myDuration = static_cast<KaxBlockDuration *>(FindElt(KaxBlockDuration::ClassInfos));
+       KaxBlockDuration * myDuration = static_cast<KaxBlockDuration *>(FindElt(EBML_INFO(KaxBlockDuration)));
        if (myDuration == NULL) {
                return false;
        }
index 216f4096d8fcb7f5ad899351c67ef8b222a48f96..a66b793affc3fe3e1204ef65eeeae780efe17e20 100644 (file)
@@ -42,16 +42,16 @@ START_LIBMATROSKA_NAMESPACE
 
 const EbmlSemantic KaxSlices_ContextList[1] =
 {
-       EbmlSemantic(false, false,  KaxTimeSlice::ClassInfos),
+       EbmlSemantic(false, false,  EBML_INFO(KaxTimeSlice)),
 };
 
 const EbmlSemantic KaxTimeSlice_ContextList[5] =
 {
-       EbmlSemantic(false, true,  KaxSliceLaceNumber::ClassInfos),
-       EbmlSemantic(false, true,  KaxSliceFrameNumber::ClassInfos),
-       EbmlSemantic(false, true,  KaxSliceBlockAddID::ClassInfos),
-       EbmlSemantic(false, true,  KaxSliceDelay::ClassInfos),
-       EbmlSemantic(false, true,  KaxSliceDuration::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSliceLaceNumber)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSliceFrameNumber)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSliceBlockAddID)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSliceDelay)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSliceDuration)),
 };
 
 EbmlId KaxReferencePriority_TheId(0xFA, 1);
@@ -67,17 +67,17 @@ EbmlId KaxSliceDuration_TheId    (0xCF, 1);
 EbmlId KaxReferenceVirtual_TheId (0xFD, 1);
 #endif // MATROSKA_VERSION
 
-const EbmlSemanticContext KaxReferencePriority_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxReferencePriority::ClassInfos);
-const EbmlSemanticContext KaxReferenceBlock_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxReferenceBlock::ClassInfos);
-const EbmlSemanticContext KaxSlices_Context = EbmlSemanticContext(countof(KaxSlices_ContextList), KaxSlices_ContextList, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxSlices::ClassInfos);
-const EbmlSemanticContext KaxTimeSlice_Context = EbmlSemanticContext(countof(KaxTimeSlice_ContextList), KaxTimeSlice_ContextList, &KaxSlices_Context, *GetKaxGlobal_Context, &KaxTimeSlice::ClassInfos);
-const EbmlSemanticContext KaxSliceLaceNumber_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &KaxSliceLaceNumber::ClassInfos);
-const EbmlSemanticContext KaxSliceFrameNumber_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &KaxSliceFrameNumber::ClassInfos);
-const EbmlSemanticContext KaxSliceBlockAddID_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &KaxSliceBlockAddID::ClassInfos);
-const EbmlSemanticContext KaxSliceDelay_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &KaxSliceDelay::ClassInfos);
-const EbmlSemanticContext KaxSliceDuration_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &KaxSliceDuration::ClassInfos);
+const EbmlSemanticContext KaxReferencePriority_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxReferencePriority));
+const EbmlSemanticContext KaxReferenceBlock_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxReferenceBlock));
+const EbmlSemanticContext KaxSlices_Context = EbmlSemanticContext(countof(KaxSlices_ContextList), KaxSlices_ContextList, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSlices));
+const EbmlSemanticContext KaxTimeSlice_Context = EbmlSemanticContext(countof(KaxTimeSlice_ContextList), KaxTimeSlice_ContextList, &KaxSlices_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTimeSlice));
+const EbmlSemanticContext KaxSliceLaceNumber_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSliceLaceNumber));
+const EbmlSemanticContext KaxSliceFrameNumber_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSliceFrameNumber));
+const EbmlSemanticContext KaxSliceBlockAddID_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSliceBlockAddID));
+const EbmlSemanticContext KaxSliceDelay_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSliceDelay));
+const EbmlSemanticContext KaxSliceDuration_Context = EbmlSemanticContext(0, NULL, &KaxTimeSlice_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSliceDuration));
 #if MATROSKA_VERSION >= 2
-const EbmlSemanticContext KaxReferenceVirtual_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &KaxReferenceVirtual::ClassInfos);
+const EbmlSemanticContext KaxReferenceVirtual_Context = EbmlSemanticContext(0, NULL, &KaxBlockGroup_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxReferenceVirtual));
 #endif // MATROSKA_VERSION
 
 const EbmlCallbacks KaxReferencePriority::ClassInfos(KaxReferencePriority::Create, KaxReferencePriority_TheId, "FlagReferenced", KaxReferencePriority_Context);
index cbb163c570b909ffe23991c8938fa4f5f475132f..7281b2a017eebd3d4c98cdbb4a45249dd9c29c5c 100644 (file)
@@ -40,86 +40,86 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxChapters_ContextList[1] =
 {
-    EbmlSemantic(true, false,  KaxEditionEntry::ClassInfos),
+    EbmlSemantic(true, false,  EBML_INFO(KaxEditionEntry)),
 };
 
 EbmlSemantic KaxEditionEntry_ContextList[5] =
 {
-    EbmlSemantic(false, true , KaxEditionUID::ClassInfos),
-    EbmlSemantic(true , true , KaxEditionFlagHidden::ClassInfos),
-    EbmlSemantic(true , true , KaxEditionFlagDefault::ClassInfos),
-    EbmlSemantic(false, true , KaxEditionFlagOrdered::ClassInfos),
-    EbmlSemantic(true , false, KaxChapterAtom::ClassInfos),
+    EbmlSemantic(false, true , EBML_INFO(KaxEditionUID)),
+    EbmlSemantic(true , true , EBML_INFO(KaxEditionFlagHidden)),
+    EbmlSemantic(true , true , EBML_INFO(KaxEditionFlagDefault)),
+    EbmlSemantic(false, true , EBML_INFO(KaxEditionFlagOrdered)),
+    EbmlSemantic(true , false, EBML_INFO(KaxChapterAtom)),
 };
 
 EbmlSemantic KaxChapterAtom_ContextList[12] =
 {
-    EbmlSemantic(false, false, KaxChapterAtom::ClassInfos),
-    EbmlSemantic(true,  true,  KaxChapterUID::ClassInfos),
-    EbmlSemantic(true,  true,  KaxChapterTimeStart::ClassInfos),
-    EbmlSemantic(false, true,  KaxChapterTimeEnd::ClassInfos),
-    EbmlSemantic(true , true,  KaxChapterFlagHidden::ClassInfos),
-    EbmlSemantic(true , true,  KaxChapterFlagEnabled::ClassInfos),
-    EbmlSemantic(false, true,  KaxChapterSegmentUID::ClassInfos),
-    EbmlSemantic(false, true,  KaxChapterSegmentEditionUID::ClassInfos),
-    EbmlSemantic(false, true,  KaxChapterPhysicalEquiv::ClassInfos),
-    EbmlSemantic(false, true,  KaxChapterTrack::ClassInfos),
-    EbmlSemantic(false, false, KaxChapterDisplay::ClassInfos),
-    EbmlSemantic(false, false, KaxChapterProcess::ClassInfos),
+    EbmlSemantic(false, false, EBML_INFO(KaxChapterAtom)),
+    EbmlSemantic(true,  true,  EBML_INFO(KaxChapterUID)),
+    EbmlSemantic(true,  true,  EBML_INFO(KaxChapterTimeStart)),
+    EbmlSemantic(false, true,  EBML_INFO(KaxChapterTimeEnd)),
+    EbmlSemantic(true , true,  EBML_INFO(KaxChapterFlagHidden)),
+    EbmlSemantic(true , true,  EBML_INFO(KaxChapterFlagEnabled)),
+    EbmlSemantic(false, true,  EBML_INFO(KaxChapterSegmentUID)),
+    EbmlSemantic(false, true,  EBML_INFO(KaxChapterSegmentEditionUID)),
+    EbmlSemantic(false, true,  EBML_INFO(KaxChapterPhysicalEquiv)),
+    EbmlSemantic(false, true,  EBML_INFO(KaxChapterTrack)),
+    EbmlSemantic(false, false, EBML_INFO(KaxChapterDisplay)),
+    EbmlSemantic(false, false, EBML_INFO(KaxChapterProcess)),
 };
 
 EbmlSemantic KaxChapterTrack_ContextList[1] =
 {
-    EbmlSemantic(true, false, KaxChapterTrackNumber::ClassInfos),
+    EbmlSemantic(true, false, EBML_INFO(KaxChapterTrackNumber)),
 };
 
 EbmlSemantic KaxChapterDisplay_ContextList[3] =
 {
-    EbmlSemantic(true,  true,  KaxChapterString::ClassInfos),
-    EbmlSemantic(true,  false, KaxChapterLanguage::ClassInfos),
-    EbmlSemantic(false, false, KaxChapterCountry::ClassInfos),
+    EbmlSemantic(true,  true,  EBML_INFO(KaxChapterString)),
+    EbmlSemantic(true,  false, EBML_INFO(KaxChapterLanguage)),
+    EbmlSemantic(false, false, EBML_INFO(KaxChapterCountry)),
 };
 
 EbmlSemantic KaxChapterProcess_ContextList[3] =
 {
-    EbmlSemantic(true,  true,  KaxChapterProcessCodecID::ClassInfos),
-    EbmlSemantic(false, true,  KaxChapterProcessPrivate::ClassInfos),
-    EbmlSemantic(false, false, KaxChapterProcessCommand::ClassInfos),
+    EbmlSemantic(true,  true,  EBML_INFO(KaxChapterProcessCodecID)),
+    EbmlSemantic(false, true,  EBML_INFO(KaxChapterProcessPrivate)),
+    EbmlSemantic(false, false, EBML_INFO(KaxChapterProcessCommand)),
 };
 
 EbmlSemantic KaxChapterProcessCommand_ContextList[2] =
 {
-    EbmlSemantic(true,  true,  KaxChapterProcessTime::ClassInfos),
-    EbmlSemantic(true,  true,  KaxChapterProcessData::ClassInfos),
+    EbmlSemantic(true,  true,  EBML_INFO(KaxChapterProcessTime)),
+    EbmlSemantic(true,  true,  EBML_INFO(KaxChapterProcessData)),
 };
 
-const EbmlSemanticContext KaxChapters_Context = EbmlSemanticContext(countof(KaxChapters_ContextList), KaxChapters_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxChapters::ClassInfos);
-const EbmlSemanticContext KaxEditionEntry_Context = EbmlSemanticContext(countof(KaxEditionEntry_ContextList), KaxEditionEntry_ContextList, &KaxChapters_Context, *GetKaxGlobal_Context, &KaxEditionEntry::ClassInfos);
-const EbmlSemanticContext KaxEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &KaxEditionUID::ClassInfos);
-const EbmlSemanticContext KaxEditionFlagHidden_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &KaxEditionFlagHidden::ClassInfos);
-const EbmlSemanticContext KaxEditionFlagDefault_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &KaxEditionFlagDefault::ClassInfos);
-const EbmlSemanticContext KaxEditionFlagOrdered_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &KaxEditionFlagOrdered::ClassInfos);
-const EbmlSemanticContext KaxChapterAtom_Context = EbmlSemanticContext(countof(KaxChapterAtom_ContextList), KaxChapterAtom_ContextList, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &KaxChapterAtom::ClassInfos);
-const EbmlSemanticContext KaxChapterTrack_Context = EbmlSemanticContext(countof(KaxChapterTrack_ContextList), KaxChapterTrack_ContextList, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterTrack::ClassInfos);
-const EbmlSemanticContext KaxChapterDisplay_Context = EbmlSemanticContext(countof(KaxChapterDisplay_ContextList), KaxChapterDisplay_ContextList, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterDisplay::ClassInfos);
-const EbmlSemanticContext KaxChapterUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterUID::ClassInfos);
-const EbmlSemanticContext KaxChapterTimeStart_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterTimeStart::ClassInfos);
-const EbmlSemanticContext KaxChapterTimeEnd_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterTimeEnd::ClassInfos);
-const EbmlSemanticContext KaxChapterFlagHidden_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterFlagHidden::ClassInfos);
-const EbmlSemanticContext KaxChapterFlagEnabled_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterFlagEnabled::ClassInfos);
-const EbmlSemanticContext KaxChapterSegmentUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterSegmentUID::ClassInfos);
-const EbmlSemanticContext KaxChapterSegmentEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterSegmentEditionUID::ClassInfos);
-const EbmlSemanticContext KaxChapterPhysicalEquiv_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterPhysicalEquiv::ClassInfos);
-const EbmlSemanticContext KaxChapterTrackNumber_Context = EbmlSemanticContext(0, NULL, &KaxChapterTrack_Context, *GetKaxGlobal_Context, &KaxChapterTrackNumber::ClassInfos);
-const EbmlSemanticContext KaxChapterString_Context = EbmlSemanticContext(0, NULL, &KaxChapterDisplay_Context, *GetKaxGlobal_Context, &KaxChapterString::ClassInfos);
-const EbmlSemanticContext KaxChapterLanguage_Context = EbmlSemanticContext(0, NULL, &KaxChapterLanguage_Context, *GetKaxGlobal_Context, &KaxChapterLanguage::ClassInfos);
-const EbmlSemanticContext KaxChapterCountry_Context = EbmlSemanticContext(0, NULL, &KaxChapterCountry_Context, *GetKaxGlobal_Context, &KaxChapterCountry::ClassInfos);
-const EbmlSemanticContext KaxChapterProcess_Context = EbmlSemanticContext(countof(KaxChapterProcess_ContextList), KaxChapterProcess_ContextList, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &KaxChapterProcess::ClassInfos);
-const EbmlSemanticContext KaxChapterProcessCodecID_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcess_Context, *GetKaxGlobal_Context, &KaxChapterProcessCodecID::ClassInfos);
-const EbmlSemanticContext KaxChapterProcessPrivate_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcess_Context, *GetKaxGlobal_Context, &KaxChapterProcessPrivate::ClassInfos);
-const EbmlSemanticContext KaxChapterProcessCommand_Context = EbmlSemanticContext(countof(KaxChapterProcessCommand_ContextList), KaxChapterProcessCommand_ContextList, &KaxChapterProcess_Context, *GetKaxGlobal_Context, &KaxChapterProcessCommand::ClassInfos);
-const EbmlSemanticContext KaxChapterProcessTime_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcessCommand_Context, *GetKaxGlobal_Context, &KaxChapterProcessTime::ClassInfos);
-const EbmlSemanticContext KaxChapterProcessData_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcessCommand_Context, *GetKaxGlobal_Context, &KaxChapterProcessData::ClassInfos);
+const EbmlSemanticContext KaxChapters_Context = EbmlSemanticContext(countof(KaxChapters_ContextList), KaxChapters_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapters));
+const EbmlSemanticContext KaxEditionEntry_Context = EbmlSemanticContext(countof(KaxEditionEntry_ContextList), KaxEditionEntry_ContextList, &KaxChapters_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxEditionEntry));
+const EbmlSemanticContext KaxEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxEditionUID));
+const EbmlSemanticContext KaxEditionFlagHidden_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxEditionFlagHidden));
+const EbmlSemanticContext KaxEditionFlagDefault_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxEditionFlagDefault));
+const EbmlSemanticContext KaxEditionFlagOrdered_Context = EbmlSemanticContext(0, NULL, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxEditionFlagOrdered));
+const EbmlSemanticContext KaxChapterAtom_Context = EbmlSemanticContext(countof(KaxChapterAtom_ContextList), KaxChapterAtom_ContextList, &KaxEditionEntry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterAtom));
+const EbmlSemanticContext KaxChapterTrack_Context = EbmlSemanticContext(countof(KaxChapterTrack_ContextList), KaxChapterTrack_ContextList, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTrack));
+const EbmlSemanticContext KaxChapterDisplay_Context = EbmlSemanticContext(countof(KaxChapterDisplay_ContextList), KaxChapterDisplay_ContextList, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterDisplay));
+const EbmlSemanticContext KaxChapterUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterUID));
+const EbmlSemanticContext KaxChapterTimeStart_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTimeStart));
+const EbmlSemanticContext KaxChapterTimeEnd_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTimeEnd));
+const EbmlSemanticContext KaxChapterFlagHidden_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterFlagHidden));
+const EbmlSemanticContext KaxChapterFlagEnabled_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterFlagEnabled));
+const EbmlSemanticContext KaxChapterSegmentUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterSegmentUID));
+const EbmlSemanticContext KaxChapterSegmentEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterSegmentEditionUID));
+const EbmlSemanticContext KaxChapterPhysicalEquiv_Context = EbmlSemanticContext(0, NULL, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterPhysicalEquiv));
+const EbmlSemanticContext KaxChapterTrackNumber_Context = EbmlSemanticContext(0, NULL, &KaxChapterTrack_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTrackNumber));
+const EbmlSemanticContext KaxChapterString_Context = EbmlSemanticContext(0, NULL, &KaxChapterDisplay_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterString));
+const EbmlSemanticContext KaxChapterLanguage_Context = EbmlSemanticContext(0, NULL, &KaxChapterLanguage_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterLanguage));
+const EbmlSemanticContext KaxChapterCountry_Context = EbmlSemanticContext(0, NULL, &KaxChapterCountry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterCountry));
+const EbmlSemanticContext KaxChapterProcess_Context = EbmlSemanticContext(countof(KaxChapterProcess_ContextList), KaxChapterProcess_ContextList, &KaxChapterAtom_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterProcess));
+const EbmlSemanticContext KaxChapterProcessCodecID_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcess_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterProcessCodecID));
+const EbmlSemanticContext KaxChapterProcessPrivate_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcess_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterProcessPrivate));
+const EbmlSemanticContext KaxChapterProcessCommand_Context = EbmlSemanticContext(countof(KaxChapterProcessCommand_ContextList), KaxChapterProcessCommand_ContextList, &KaxChapterProcess_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterProcessCommand));
+const EbmlSemanticContext KaxChapterProcessTime_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcessCommand_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterProcessTime));
+const EbmlSemanticContext KaxChapterProcessData_Context = EbmlSemanticContext(0, NULL, &KaxChapterProcessCommand_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterProcessData));
 
 EbmlId KaxChapters_TheId               (0x1043A770, 4);
 EbmlId KaxEditionEntry_TheId           (0x45B9, 2);
index 807181ae1aed29f1c067fd97d7317172812fd5a3..df0ce9175b821bcd96c90f1288ae2c107d8ce8b4 100644 (file)
@@ -45,17 +45,17 @@ EbmlSemantic KaxCluster_ContextList[5] =
 EbmlSemantic KaxCluster_ContextList[6] =
 #endif // MATROSKA_VERSION
 {
-       EbmlSemantic(true,  true,  KaxClusterTimecode::ClassInfos),
-       EbmlSemantic(false, true,  KaxClusterSilentTracks::ClassInfos),
-       EbmlSemantic(false, true,  KaxClusterPrevSize::ClassInfos),
-       EbmlSemantic(false, false, KaxBlockGroup::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxClusterTimecode)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxClusterSilentTracks)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxClusterPrevSize)),
+       EbmlSemantic(false, false, EBML_INFO(KaxBlockGroup)),
 #if MATROSKA_VERSION == 2
-       EbmlSemantic(false, false, KaxSimpleBlock::ClassInfos),
+       EbmlSemantic(false, false, EBML_INFO(KaxSimpleBlock)),
 #endif
-       EbmlSemantic(false, true,  KaxClusterPosition::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxClusterPosition)),
 };
 
-const EbmlSemanticContext KaxCluster_Context = EbmlSemanticContext(countof(KaxCluster_ContextList), KaxCluster_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxCluster::ClassInfos);
+const EbmlSemanticContext KaxCluster_Context = EbmlSemanticContext(countof(KaxCluster_ContextList), KaxCluster_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCluster));
 
 EbmlId KaxCluster_TheId(0x1F43B675, 4);
 const EbmlCallbacks KaxCluster::ClassInfos(KaxCluster::Create, KaxCluster_TheId, "Cluster", KaxCluster_Context);
@@ -78,12 +78,12 @@ KaxCluster::KaxCluster(const KaxCluster & ElementToClone)
        std::vector<EbmlElement *>::const_iterator Itr = begin();
        while (Itr != end())
        {
-               if (EbmlId(**Itr) == KaxBlockGroup::ClassInfos.GlobalId) {
+               if (EbmlId(**Itr) == EBML_ID(KaxBlockGroup)) {
                        static_cast<KaxBlockGroup   *>(*Itr)->SetParent(*this);
-               } else if (EbmlId(**Itr) == KaxBlock::ClassInfos.GlobalId) {
+               } else if (EbmlId(**Itr) == EBML_ID(KaxBlock)) {
                        static_cast<KaxBlock        *>(*Itr)->SetParent(*this);
 #if MATROSKA_VERSION >= 2
-               } else if (EbmlId(**Itr) == KaxBlockVirtual::ClassInfos.GlobalId) {
+               } else if (EbmlId(**Itr) == EBML_ID(KaxBlockVirtual)) {
                        static_cast<KaxBlockVirtual *>(*Itr)->SetParent(*this);
 #endif // MATROSKA_VERSION
                }
@@ -177,7 +177,7 @@ uint32 KaxCluster::Render(IOCallback & output, KaxCues & CueToUpdate, bool bSave
        size_t TrkIndex, Index;
 
        // update the Timecode of the Cluster before writing
-       KaxClusterTimecode * Timecode = static_cast<KaxClusterTimecode *>(this->FindElt(KaxClusterTimecode::ClassInfos));
+       KaxClusterTimecode * Timecode = static_cast<KaxClusterTimecode *>(this->FindElt(EBML_INFO(KaxClusterTimecode)));
        *static_cast<EbmlUInteger *>(Timecode) = GlobalTimecode() / GlobalTimecodeScale();
 
        if (Blobs.size() == 0) {
@@ -187,14 +187,14 @@ uint32 KaxCluster::Render(IOCallback & output, KaxCues & CueToUpdate, bool bSave
                // check the parent cluster for existing tracks and see if they are contained in this cluster or not
                if (bSilentTracksUsed)
                {
-                       KaxTracks & MyTracks = *static_cast<KaxTracks *>(ParentSegment->FindElt(KaxTracks::ClassInfos));
+                       KaxTracks & MyTracks = *static_cast<KaxTracks *>(ParentSegment->FindElt(EBML_INFO(KaxTracks)));
                        for (TrkIndex = 0; TrkIndex < MyTracks.ListSize(); TrkIndex++) {
-                               if (EbmlId(*MyTracks[TrkIndex]) == KaxTrackEntry::ClassInfos.GlobalId)
+                               if (EbmlId(*MyTracks[TrkIndex]) == EBML_ID(KaxTrackEntry))
                                {
                                        KaxTrackEntry & entry = *static_cast<KaxTrackEntry *>(MyTracks[TrkIndex]);
                                        uint32 tracknum = entry.TrackNumber();
                                        for (Index = 0; Index < ListSize(); Index++) {
-                                               if (EbmlId(*(*this)[Index]) == KaxBlockGroup::ClassInfos.GlobalId) {
+                                               if (EbmlId(*(*this)[Index]) == EBML_ID(KaxBlockGroup)) {
                                                        KaxBlockGroup & group = *static_cast<KaxBlockGroup *>((*this)[Index]);
                                                        if (group.TrackNumber() == tracknum)
                                                                break; // this track is used
@@ -203,9 +203,9 @@ uint32 KaxCluster::Render(IOCallback & output, KaxCues & CueToUpdate, bool bSave
                                        // the track wasn't found in this cluster
                                        if (Index == ListSize())
                                        {
-                                               KaxClusterSilentTracks * SilentTracks = static_cast<KaxClusterSilentTracks *>(this->FindFirstElt(KaxClusterSilentTracks::ClassInfos));
+                                               KaxClusterSilentTracks * SilentTracks = static_cast<KaxClusterSilentTracks *>(this->FindFirstElt(EBML_INFO(KaxClusterSilentTracks)));
                                                assert(SilentTracks != NULL); // the flag bSilentTracksUsed should be set when creating the Cluster
-                                               KaxClusterSilentTrackNumber * trackelt = static_cast<KaxClusterSilentTrackNumber *>(SilentTracks->AddNewElt(KaxClusterSilentTrackNumber::ClassInfos));
+                                               KaxClusterSilentTrackNumber * trackelt = static_cast<KaxClusterSilentTrackNumber *>(SilentTracks->AddNewElt(EBML_INFO(KaxClusterSilentTrackNumber)));
                                                *static_cast<EbmlUInteger *>(trackelt) = tracknum;
                                        }
                                }
@@ -216,7 +216,7 @@ uint32 KaxCluster::Render(IOCallback & output, KaxCues & CueToUpdate, bool bSave
                // For all Blocks add their position on the CueEntry
                
                for (Index = 0; Index < ListSize(); Index++) {
-                       if (EbmlId(*(*this)[Index]) == KaxBlockGroup::ClassInfos.GlobalId) {
+                       if (EbmlId(*(*this)[Index]) == EBML_ID(KaxBlockGroup)) {
                                CueToUpdate.PositionSet(*static_cast<const KaxBlockGroup *>((*this)[Index]));
                        }
                }
@@ -236,9 +236,9 @@ uint32 KaxCluster::Render(IOCallback & output, KaxCues & CueToUpdate, bool bSave
                // check the parent cluster for existing tracks and see if they are contained in this cluster or not
                if (bSilentTracksUsed)
                {
-                       KaxTracks & MyTracks = *static_cast<KaxTracks *>(ParentSegment->FindElt(KaxTracks::ClassInfos));
+                       KaxTracks & MyTracks = *static_cast<KaxTracks *>(ParentSegment->FindElt(EBML_INFO(KaxTracks)));
                        for (TrkIndex = 0; TrkIndex < MyTracks.ListSize(); TrkIndex++) {
-                               if (EbmlId(*MyTracks[TrkIndex]) == KaxTrackEntry::ClassInfos.GlobalId)
+                               if (EbmlId(*MyTracks[TrkIndex]) == EBML_ID(KaxTrackEntry))
                                {
                                        KaxTrackEntry & entry = *static_cast<KaxTrackEntry *>(MyTracks[TrkIndex]);
                                        uint32 tracknum = entry.TrackNumber();
@@ -249,9 +249,9 @@ uint32 KaxCluster::Render(IOCallback & output, KaxCues & CueToUpdate, bool bSave
                                        // the track wasn't found in this cluster
                                        if (Index == ListSize())
                                        {
-                                               KaxClusterSilentTracks * SilentTracks = static_cast<KaxClusterSilentTracks *>(this->FindFirstElt(KaxClusterSilentTracks::ClassInfos));
+                                               KaxClusterSilentTracks * SilentTracks = static_cast<KaxClusterSilentTracks *>(this->FindFirstElt(EBML_INFO(KaxClusterSilentTracks)));
                                                assert(SilentTracks != NULL); // the flag bSilentTracksUsed should be set when creating the Cluster
-                                               KaxClusterSilentTrackNumber * trackelt = static_cast<KaxClusterSilentTrackNumber *>(SilentTracks->AddNewElt(KaxClusterSilentTrackNumber::ClassInfos));
+                                               KaxClusterSilentTrackNumber * trackelt = static_cast<KaxClusterSilentTrackNumber *>(SilentTracks->AddNewElt(EBML_INFO(KaxClusterSilentTrackNumber)));
                                                *static_cast<EbmlUInteger *>(trackelt) = tracknum;
                                        }
                                }
@@ -299,7 +299,7 @@ int16 KaxCluster::GetBlockLocalTimecode(uint64 aGlobalTimecode) const
 uint64 KaxCluster::GetBlockGlobalTimecode(int16 GlobalSavedTimecode)
 {
        if (!bFirstFrameInside) {
-               KaxClusterTimecode * Timecode = static_cast<KaxClusterTimecode *>(this->FindElt(KaxClusterTimecode::ClassInfos));
+               KaxClusterTimecode * Timecode = static_cast<KaxClusterTimecode *>(this->FindElt(EBML_INFO(KaxClusterTimecode)));
                assert (bFirstFrameInside); // use the InitTimecode() hack for now
                MinTimecode = MaxTimecode = PreviousTimecode = *static_cast<EbmlUInteger *>(Timecode);
                bFirstFrameInside = true;
@@ -320,7 +320,7 @@ void KaxCluster::ReleaseFrames()
        size_t Index;
        
        for (Index = 0; Index < ListSize(); Index++) {
-               if (EbmlId(*(*this)[Index]) == KaxBlockGroup::ClassInfos.GlobalId) {
+               if (EbmlId(*(*this)[Index]) == EBML_ID(KaxBlockGroup)) {
                        static_cast<KaxBlockGroup*>((*this)[Index])->ReleaseFrames();
                }
        }
index ec195dd3901a84d6dda05b7d9c81e6a501c3c4b6..68b08f31c0db0c426750241d5e9a8f23e254db64 100644 (file)
@@ -45,14 +45,14 @@ EbmlId KaxClusterPosition_TheId         (0xA7, 1);
 
 EbmlSemantic KaxClusterSilentTracks_ContextList[1] =
 {
-       EbmlSemantic(false,  false, KaxClusterSilentTrackNumber::ClassInfos),
+       EbmlSemantic(false,  false, EBML_INFO(KaxClusterSilentTrackNumber)),
 };
 
-const EbmlSemanticContext KaxClusterTimecode_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &KaxClusterTimecode::ClassInfos);
-const EbmlSemanticContext KaxClusterSilentTracks_Context = EbmlSemanticContext(countof(KaxClusterSilentTracks_ContextList), KaxClusterSilentTracks_ContextList, &KaxCluster_Context, *GetKaxGlobal_Context, &KaxClusterSilentTracks::ClassInfos);
-const EbmlSemanticContext KaxClusterSilentTrackNumber_Context = EbmlSemanticContext(0, NULL, &KaxClusterSilentTracks_Context, *GetKaxGlobal_Context, &KaxClusterSilentTrackNumber::ClassInfos);
-const EbmlSemanticContext KaxClusterPosition_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &KaxClusterPosition::ClassInfos);
-const EbmlSemanticContext KaxClusterPrevSize_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &KaxClusterPrevSize::ClassInfos);
+const EbmlSemanticContext KaxClusterTimecode_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxClusterTimecode));
+const EbmlSemanticContext KaxClusterSilentTracks_Context = EbmlSemanticContext(countof(KaxClusterSilentTracks_ContextList), KaxClusterSilentTracks_ContextList, &KaxCluster_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxClusterSilentTracks));
+const EbmlSemanticContext KaxClusterSilentTrackNumber_Context = EbmlSemanticContext(0, NULL, &KaxClusterSilentTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxClusterSilentTrackNumber));
+const EbmlSemanticContext KaxClusterPosition_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxClusterPosition));
+const EbmlSemanticContext KaxClusterPrevSize_Context = EbmlSemanticContext(0, NULL, &KaxCluster_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxClusterPrevSize));
 
 const EbmlCallbacks KaxClusterTimecode::ClassInfos(KaxClusterTimecode::Create, KaxClusterTimecode_TheId, "ClusterTimecode", KaxClusterTimecode_Context);
 const EbmlCallbacks KaxClusterSilentTracks::ClassInfos(KaxClusterSilentTracks::Create, KaxClusterSilentTracks_TheId, "ClusterSilentTracks", KaxClusterSilentTracks_Context);
index f46e87b9660c22a838f7ab1c9d0d236fda54515d..d6f698ccb3aca40d22f5f5efb3bf32e8b720709e 100644 (file)
 START_LIBMATROSKA_NAMESPACE
 
 const EbmlSemantic KaxContentEncodings_ContextList[1] = {
-  EbmlSemantic(true, true, KaxContentEncoding::ClassInfos),
+  EbmlSemantic(true, true, EBML_INFO(KaxContentEncoding)),
 };
 
 const EbmlSemantic KaxContentEncoding_ContextList[5] = {
-  EbmlSemantic(true, true, KaxContentEncodingOrder::ClassInfos),
-  EbmlSemantic(true, true, KaxContentEncodingScope::ClassInfos),
-  EbmlSemantic(true, true, KaxContentEncodingType::ClassInfos),
-  EbmlSemantic(false, true, KaxContentCompression::ClassInfos),
-  EbmlSemantic(false, true, KaxContentEncryption::ClassInfos),
+  EbmlSemantic(true, true, EBML_INFO(KaxContentEncodingOrder)),
+  EbmlSemantic(true, true, EBML_INFO(KaxContentEncodingScope)),
+  EbmlSemantic(true, true, EBML_INFO(KaxContentEncodingType)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentCompression)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentEncryption)),
 };
 
 const EbmlSemantic KaxContentCompression_ContextList[2] = {
-  EbmlSemantic(true, true, KaxContentCompAlgo::ClassInfos),
-  EbmlSemantic(false, true, KaxContentCompSettings::ClassInfos),
+  EbmlSemantic(true, true, EBML_INFO(KaxContentCompAlgo)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentCompSettings)),
 };
 
 const EbmlSemantic KaxContentEncryption_ContextList[6] = {
-  EbmlSemantic(false, true, KaxContentEncAlgo::ClassInfos),
-  EbmlSemantic(false, true, KaxContentEncKeyID::ClassInfos),
-  EbmlSemantic(false, true, KaxContentSignature::ClassInfos),
-  EbmlSemantic(false, true, KaxContentSigKeyID::ClassInfos),
-  EbmlSemantic(false, true, KaxContentSigAlgo::ClassInfos),
-  EbmlSemantic(false, true, KaxContentSigHashAlgo::ClassInfos),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentEncAlgo)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentEncKeyID)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentSignature)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentSigKeyID)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentSigAlgo)),
+  EbmlSemantic(false, true, EBML_INFO(KaxContentSigHashAlgo)),
 };
 
 EbmlId KaxContentEncodings_TheId       (0x6d80, 2);
@@ -83,81 +83,81 @@ const EbmlSemanticContext KaxContentEncodings_Context =
 EbmlSemanticContext(countof(KaxContentEncodings_ContextList),
                     KaxContentEncodings_ContextList, &KaxTrackEntry_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentEncodings::ClassInfos);
+                    &EBML_INFO(KaxContentEncodings));
 
 const EbmlSemanticContext KaxContentEncoding_Context =
 EbmlSemanticContext(countof(KaxContentEncoding_ContextList),
                     KaxContentEncoding_ContextList,
                     &KaxContentEncodings_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentEncoding::ClassInfos);
+                    &EBML_INFO(KaxContentEncoding));
 
 const EbmlSemanticContext KaxContentEncodingOrder_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncoding_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentEncodingOrder::ClassInfos);
+                    &EBML_INFO(KaxContentEncodingOrder));
 
 const EbmlSemanticContext KaxContentEncodingScope_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncoding_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentEncodingScope::ClassInfos);
+                    &EBML_INFO(KaxContentEncodingScope));
 
 const EbmlSemanticContext KaxContentEncodingType_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncoding_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentEncodingType::ClassInfos);
+                    &EBML_INFO(KaxContentEncodingType));
 
 const EbmlSemanticContext KaxContentCompression_Context =
 EbmlSemanticContext(countof(KaxContentCompression_ContextList),
                     KaxContentCompression_ContextList,
                     &KaxContentEncoding_Context, *GetKaxGlobal_Context,
-                    &KaxContentCompression::ClassInfos);
+                    &EBML_INFO(KaxContentCompression));
 
 const EbmlSemanticContext KaxContentCompAlgo_Context =
 EbmlSemanticContext(0, NULL, &KaxContentCompression_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentCompAlgo::ClassInfos);
+                    &EBML_INFO(KaxContentCompAlgo));
 
 const EbmlSemanticContext KaxContentCompSettings_Context =
 EbmlSemanticContext(0, NULL, &KaxContentCompression_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentCompSettings::ClassInfos);
+                    &EBML_INFO(KaxContentCompSettings));
 
 const EbmlSemanticContext KaxContentEncryption_Context =
 EbmlSemanticContext(countof(KaxContentEncryption_ContextList),
                     KaxContentEncryption_ContextList,
                     &KaxContentEncoding_Context, *GetKaxGlobal_Context,
-                    &KaxContentEncryption::ClassInfos);
+                    &EBML_INFO(KaxContentEncryption));
 
 const EbmlSemanticContext KaxContentEncAlgo_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncryption_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentEncAlgo::ClassInfos);
+                    &EBML_INFO(KaxContentEncAlgo));
 
 const EbmlSemanticContext KaxContentEncKeyID_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncryption_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentEncKeyID::ClassInfos);
+                    &EBML_INFO(KaxContentEncKeyID));
 
 const EbmlSemanticContext KaxContentSignature_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncryption_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentSignature::ClassInfos);
+                    &EBML_INFO(KaxContentSignature));
 
 const EbmlSemanticContext KaxContentSigAlgo_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncryption_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentSigKeyID::ClassInfos);
+                    &EBML_INFO(KaxContentSigKeyID));
 
 const EbmlSemanticContext KaxContentSigHashAlgo_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncryption_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentSigKeyID::ClassInfos);
+                    &EBML_INFO(KaxContentSigKeyID));
 
 const EbmlSemanticContext KaxContentSigKeyID_Context =
 EbmlSemanticContext(0, NULL, &KaxContentEncryption_Context,
                     *GetKaxGlobal_Context,
-                    &KaxContentSigKeyID::ClassInfos);
+                    &EBML_INFO(KaxContentSigKeyID));
 
 const EbmlCallbacks
 KaxContentEncodings::ClassInfos(KaxContentEncodings::Create,
index 7aee21cbe02ca11b25ad26fb234f5b159305a3e1..e3007d54b7f5cd6adf6ac23ea25cf80bcca44f70 100644 (file)
@@ -42,10 +42,10 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxCues_ContextList[1] = 
 {
-       EbmlSemantic(true,  false,  KaxCuePoint::ClassInfos),
+       EbmlSemantic(true,  false,  EBML_INFO(KaxCuePoint)),
 };
 
-const EbmlSemanticContext KaxCues_Context = EbmlSemanticContext(countof(KaxCues_ContextList), KaxCues_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxCues::ClassInfos);
+const EbmlSemanticContext KaxCues_Context = EbmlSemanticContext(countof(KaxCues_ContextList), KaxCues_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCues));
 
 EbmlId KaxCues_TheId(0x1C53BB6B, 4);
 const EbmlCallbacks KaxCues::ClassInfos(KaxCues::Create, KaxCues_TheId, "Cues", KaxCues_Context);
@@ -134,10 +134,10 @@ const KaxCuePoint * KaxCues::GetTimecodePoint(uint64 aTimecode) const
 
        for (unsigned int i=0; i<ListSize(); i++)
        {
-               if (EbmlId(*(*this)[i]) == KaxCuePoint::ClassInfos.GlobalId) {
+               if (EbmlId(*(*this)[i]) == EBML_ID(KaxCuePoint)) {
                        const KaxCuePoint *tmp = static_cast<const KaxCuePoint *>((*this)[i]);
                        // check the tile
-                       const KaxCueTime *aTime = static_cast<const KaxCueTime *>(tmp->FindFirstElt(KaxCueTime::ClassInfos));
+                       const KaxCueTime *aTime = static_cast<const KaxCueTime *>(tmp->FindFirstElt(EBML_INFO(KaxCueTime)));
                        if (aTime != NULL)
                        {
                                uint64 _Time = uint64(*aTime);
index 01402268a1a6a51acc2a4183881cdfbf4c09890f..db68faafb8852fbb0eb2a284cae7e4e974c33899 100644 (file)
@@ -43,8 +43,8 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxCuePoint_ContextList[2] =
 {
-       EbmlSemantic(true,  true,  KaxCueTime::ClassInfos),
-       EbmlSemantic(true,  false, KaxCueTrackPositions::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxCueTime)),
+       EbmlSemantic(true,  false, EBML_INFO(KaxCueTrackPositions)),
 };
 
 #if MATROSKA_VERSION == 1
@@ -53,22 +53,22 @@ EbmlSemantic KaxCueTrackPositions_ContextList[3] =
 EbmlSemantic KaxCueTrackPositions_ContextList[5] =
 #endif // MATROSKA_VERSION
 {
-       EbmlSemantic(true,  true,  KaxCueTrack::ClassInfos),
-       EbmlSemantic(true,  true,  KaxCueClusterPosition::ClassInfos),
-       EbmlSemantic(false, true,  KaxCueBlockNumber::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxCueTrack)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxCueClusterPosition)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxCueBlockNumber)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(false, true,  KaxCueCodecState::ClassInfos),
-       EbmlSemantic(false, false, KaxCueReference::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxCueCodecState)),
+       EbmlSemantic(false, false, EBML_INFO(KaxCueReference)),
 #endif // MATROSKA_VERSION
 };
 
 #if MATROSKA_VERSION >= 2
 EbmlSemantic KaxCueReference_ContextList[4] =
 {
-       EbmlSemantic(true,  true,  KaxCueRefTime::ClassInfos),
-       EbmlSemantic(true,  true,  KaxCueRefCluster::ClassInfos),
-       EbmlSemantic(false, true,  KaxCueRefNumber::ClassInfos),
-       EbmlSemantic(false, true,  KaxCueRefCodecState::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxCueRefTime)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxCueRefCluster)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxCueRefNumber)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxCueRefCodecState)),
 };
 #endif // MATROSKA_VERSION
 
@@ -87,19 +87,19 @@ EbmlId KaxCueRefNumber_TheId      (0x535F, 2);
 EbmlId KaxCueRefCodecState_TheId  (0xEB, 1);
 #endif // MATROSKA_VERSION
 
-const EbmlSemanticContext KaxCuePoint_Context = EbmlSemanticContext(countof(KaxCuePoint_ContextList), KaxCuePoint_ContextList, &KaxCues_Context, *GetKaxGlobal_Context, &KaxCuePoint::ClassInfos);
-const EbmlSemanticContext KaxCueTime_Context = EbmlSemanticContext(0, NULL, &KaxCuePoint_Context, *GetKaxGlobal_Context, &KaxCueTime::ClassInfos);
-const EbmlSemanticContext KaxCueTrackPositions_Context = EbmlSemanticContext(countof(KaxCueTrackPositions_ContextList), KaxCueTrackPositions_ContextList, &KaxCuePoint_Context, *GetKaxGlobal_Context, &KaxCueTrackPositions::ClassInfos);
-const EbmlSemanticContext KaxCueTrack_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &KaxCueTrack::ClassInfos);
-const EbmlSemanticContext KaxCueClusterPosition_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &KaxCueClusterPosition::ClassInfos);
-const EbmlSemanticContext KaxCueBlockNumber_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &KaxCueBlockNumber::ClassInfos);
+const EbmlSemanticContext KaxCuePoint_Context = EbmlSemanticContext(countof(KaxCuePoint_ContextList), KaxCuePoint_ContextList, &KaxCues_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCuePoint));
+const EbmlSemanticContext KaxCueTime_Context = EbmlSemanticContext(0, NULL, &KaxCuePoint_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueTime));
+const EbmlSemanticContext KaxCueTrackPositions_Context = EbmlSemanticContext(countof(KaxCueTrackPositions_ContextList), KaxCueTrackPositions_ContextList, &KaxCuePoint_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueTrackPositions));
+const EbmlSemanticContext KaxCueTrack_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueTrack));
+const EbmlSemanticContext KaxCueClusterPosition_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueClusterPosition));
+const EbmlSemanticContext KaxCueBlockNumber_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueBlockNumber));
 #if MATROSKA_VERSION >= 2
-const EbmlSemanticContext KaxCueCodecState_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &KaxCueCodecState::ClassInfos);
-const EbmlSemanticContext KaxCueReference_Context = EbmlSemanticContext(countof(KaxCueReference_ContextList), KaxCueReference_ContextList, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &KaxCueReference::ClassInfos);
-const EbmlSemanticContext KaxCueRefTime_Context = EbmlSemanticContext(0, NULL, &KaxCueReference_Context, *GetKaxGlobal_Context, &KaxCueRefTime::ClassInfos);
-const EbmlSemanticContext KaxCueRefCluster_Context = EbmlSemanticContext(0, NULL, &KaxCueRefTime_Context, *GetKaxGlobal_Context, &KaxCueRefCluster::ClassInfos);
-const EbmlSemanticContext KaxCueRefNumber_Context = EbmlSemanticContext(0, NULL, &KaxCueRefTime_Context, *GetKaxGlobal_Context, &KaxCueRefNumber::ClassInfos);
-const EbmlSemanticContext KaxCueRefCodecState_Context = EbmlSemanticContext(0, NULL, &KaxCueRefTime_Context, *GetKaxGlobal_Context, &KaxCueRefCodecState::ClassInfos);
+const EbmlSemanticContext KaxCueCodecState_Context = EbmlSemanticContext(0, NULL, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueCodecState));
+const EbmlSemanticContext KaxCueReference_Context = EbmlSemanticContext(countof(KaxCueReference_ContextList), KaxCueReference_ContextList, &KaxCueTrackPositions_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueReference));
+const EbmlSemanticContext KaxCueRefTime_Context = EbmlSemanticContext(0, NULL, &KaxCueReference_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueRefTime));
+const EbmlSemanticContext KaxCueRefCluster_Context = EbmlSemanticContext(0, NULL, &KaxCueRefTime_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueRefCluster));
+const EbmlSemanticContext KaxCueRefNumber_Context = EbmlSemanticContext(0, NULL, &KaxCueRefTime_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueRefNumber));
+const EbmlSemanticContext KaxCueRefCodecState_Context = EbmlSemanticContext(0, NULL, &KaxCueRefTime_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCueRefCodecState));
 #endif // MATROSKA_VERSION
 
 const EbmlCallbacks KaxCuePoint::ClassInfos(KaxCuePoint::Create, KaxCuePoint_TheId, "CuePoint", KaxCuePoint_Context);
@@ -159,7 +159,7 @@ void KaxCuePoint::PositionSet(const KaxBlockGroup & BlockReference, uint64 Globa
                }
        }
 
-       KaxCodecState *CodecState = static_cast<KaxCodecState *>(BlockReference.FindFirstElt(KaxCodecState::ClassInfos));
+       KaxCodecState *CodecState = static_cast<KaxCodecState *>(BlockReference.FindFirstElt(EBML_INFO(KaxCodecState)));
        if (CodecState != NULL) {
                KaxCueCodecState &CueCodecState = AddNewChild<KaxCueCodecState>(NewPositions);
                *static_cast<EbmlUInteger*>(&CueCodecState) = BlockReference.GetParentCluster()->GetParentSegment()->GetRelativePosition(CodecState->GetElementPosition());
@@ -199,7 +199,7 @@ void KaxCuePoint::PositionSet(const KaxBlockBlob & BlobReference, uint64 GlobalT
 #if MATROSKA_VERSION >= 2
        if (!BlobReference.IsSimpleBlock()) {
                const KaxBlockGroup &BlockGroup = BlobReference;
-               const KaxCodecState *CodecState = static_cast<KaxCodecState *>(BlockGroup.FindFirstElt(KaxCodecState::ClassInfos));
+               const KaxCodecState *CodecState = static_cast<KaxCodecState *>(BlockGroup.FindFirstElt(EBML_INFO(KaxCodecState)));
                if (CodecState != NULL) {
                        KaxCueCodecState &CueCodecState = AddNewChild<KaxCueCodecState>(NewPositions);
                        *static_cast<EbmlUInteger*>(&CueCodecState) = BlockGroup.GetParentCluster()->GetParentSegment()->GetRelativePosition(CodecState->GetElementPosition());
@@ -244,11 +244,11 @@ bool KaxCuePoint::operator<(const EbmlElement & EltB) const
        const KaxCuePoint & theEltB = *static_cast<const KaxCuePoint *>(&EltB);
 
        // compare timecode
-       const KaxCueTime * TimeCodeA = static_cast<const KaxCueTime *>(FindElt(KaxCueTime::ClassInfos));
+       const KaxCueTime * TimeCodeA = static_cast<const KaxCueTime *>(FindElt(EBML_INFO(KaxCueTime)));
        if (TimeCodeA == NULL)
                return false;
 
-       const KaxCueTime * TimeCodeB = static_cast<const KaxCueTime *>(theEltB.FindElt(KaxCueTime::ClassInfos));
+       const KaxCueTime * TimeCodeB = static_cast<const KaxCueTime *>(theEltB.FindElt(EBML_INFO(KaxCueTime)));
        if (TimeCodeB == NULL)
                return false;
 
@@ -259,11 +259,11 @@ bool KaxCuePoint::operator<(const EbmlElement & EltB) const
                return false;
 
        // compare tracks (timecodes are equal)
-       const KaxCueTrack * TrackA = static_cast<const KaxCueTrack *>(FindElt(KaxCueTrack::ClassInfos));
+       const KaxCueTrack * TrackA = static_cast<const KaxCueTrack *>(FindElt(EBML_INFO(KaxCueTrack)));
        if (TrackA == NULL)
                return false;
 
-       const KaxCueTrack * TrackB = static_cast<const KaxCueTrack *>(theEltB.FindElt(KaxCueTrack::ClassInfos));
+       const KaxCueTrack * TrackB = static_cast<const KaxCueTrack *>(theEltB.FindElt(EBML_INFO(KaxCueTrack)));
        if (TrackB == NULL)
                return false;
 
@@ -278,7 +278,7 @@ bool KaxCuePoint::operator<(const EbmlElement & EltB) const
 
 bool KaxCuePoint::Timecode(uint64 & aTimecode, uint64 GlobalTimecodeScale) const
 {
-       const KaxCueTime *aTime = static_cast<const KaxCueTime *>(FindFirstElt(KaxCueTime::ClassInfos));
+       const KaxCueTime *aTime = static_cast<const KaxCueTime *>(FindFirstElt(EBML_INFO(KaxCueTime)));
        if (aTime == NULL)
                return false;
        aTimecode = uint64(*aTime) * GlobalTimecodeScale;
@@ -293,10 +293,10 @@ const KaxCueTrackPositions * KaxCuePoint::GetSeekPosition() const
        const KaxCueTrackPositions * result = NULL;
        uint64 aPosition = EBML_PRETTYLONGINT(0xFFFFFFFFFFFFFFF);
        // find the position of the "earlier" Cluster
-       const KaxCueTrackPositions *aPoss = static_cast<const KaxCueTrackPositions *>(FindFirstElt(KaxCueTrackPositions::ClassInfos));
+       const KaxCueTrackPositions *aPoss = static_cast<const KaxCueTrackPositions *>(FindFirstElt(EBML_INFO(KaxCueTrackPositions)));
        while (aPoss != NULL)
        {
-               const KaxCueClusterPosition *aPos = static_cast<const KaxCueClusterPosition *>(aPoss->FindFirstElt(KaxCueClusterPosition::ClassInfos));
+               const KaxCueClusterPosition *aPos = static_cast<const KaxCueClusterPosition *>(aPoss->FindFirstElt(EBML_INFO(KaxCueClusterPosition)));
                if (aPos != NULL && uint64(*aPos) < aPosition) {
                        aPosition = uint64(*aPos);
                        result = aPoss;
@@ -309,7 +309,7 @@ const KaxCueTrackPositions * KaxCuePoint::GetSeekPosition() const
 
 uint64 KaxCueTrackPositions::ClusterPosition() const
 {
-       const KaxCueClusterPosition *aPos = static_cast<const KaxCueClusterPosition *>(FindFirstElt(KaxCueClusterPosition::ClassInfos));
+       const KaxCueClusterPosition *aPos = static_cast<const KaxCueClusterPosition *>(FindFirstElt(EBML_INFO(KaxCueClusterPosition)));
        if (aPos == NULL)
                return 0;
 
@@ -318,7 +318,7 @@ uint64 KaxCueTrackPositions::ClusterPosition() const
 
 uint16 KaxCueTrackPositions::TrackNumber() const
 {
-       const KaxCueTrack *aTrack = static_cast<const KaxCueTrack *>(FindFirstElt(KaxCueTrack::ClassInfos));
+       const KaxCueTrack *aTrack = static_cast<const KaxCueTrack *>(FindFirstElt(EBML_INFO(KaxCueTrack)));
        if (aTrack == NULL)
                return 0;
 
index 8b8242de10994ed068bdbfd221a9234554194d66..b33bace0d959281432859c837c10e5c383c19131 100644 (file)
@@ -42,25 +42,25 @@ START_LIBMATROSKA_NAMESPACE
 
 const EbmlSemantic KaxInfo_ContextList[14] =
 {
-       EbmlSemantic(false, true,  KaxSegmentUID::ClassInfos),
-       EbmlSemantic(false, true,  KaxSegmentFilename::ClassInfos),
-       EbmlSemantic(false, true,  KaxPrevUID::ClassInfos),
-       EbmlSemantic(false, true,  KaxPrevFilename::ClassInfos),
-       EbmlSemantic(false, true,  KaxNextUID::ClassInfos),
-       EbmlSemantic(false, true,  KaxNextFilename::ClassInfos),
-       EbmlSemantic(false, false, KaxSegmentFamily::ClassInfos),
-       EbmlSemantic(false, false, KaxChapterTranslate::ClassInfos),
-       EbmlSemantic(true,  true,  KaxTimecodeScale::ClassInfos),
-       EbmlSemantic(false, true,  KaxDuration::ClassInfos),
-       EbmlSemantic(false, true,  KaxDateUTC::ClassInfos),
-       EbmlSemantic(false, true,  KaxTitle::ClassInfos),
-       EbmlSemantic(true,  true,  KaxMuxingApp::ClassInfos),
-       EbmlSemantic(true,  true,  KaxWritingApp::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSegmentUID)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxSegmentFilename)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxPrevUID)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxPrevFilename)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxNextUID)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxNextFilename)),
+       EbmlSemantic(false, false, EBML_INFO(KaxSegmentFamily)),
+       EbmlSemantic(false, false, EBML_INFO(KaxChapterTranslate)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTimecodeScale)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxDuration)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxDateUTC)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTitle)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxMuxingApp)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxWritingApp)),
 };
 
-const EbmlSemanticContext KaxInfo_Context = EbmlSemanticContext(countof(KaxInfo_ContextList), KaxInfo_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxInfo::ClassInfos);
-const EbmlSemanticContext KaxMuxingApp_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxMuxingApp::ClassInfos);
-const EbmlSemanticContext KaxWritingApp_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxWritingApp::ClassInfos);
+const EbmlSemanticContext KaxInfo_Context = EbmlSemanticContext(countof(KaxInfo_ContextList), KaxInfo_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxInfo));
+const EbmlSemanticContext KaxMuxingApp_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxMuxingApp));
+const EbmlSemanticContext KaxWritingApp_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxWritingApp));
 
 EbmlId KaxInfo_TheId      (0x1549A966, 4);
 EbmlId KaxMuxingApp_TheId (0x4D80, 2);
index 5a1b5971201791abf218ed96040935c0929aebb3..ef6a7aa2cebbfa4c834231e140b16c476efcb325 100644 (file)
@@ -40,9 +40,9 @@ START_LIBMATROSKA_NAMESPACE
 
 const EbmlSemantic KaxChapterTranslate_ContextList[3] =
 {
-       EbmlSemantic(false, false, KaxChapterTranslateEditionUID::ClassInfos),
-       EbmlSemantic(true,  true,  KaxChapterTranslateCodec::ClassInfos),
-       EbmlSemantic(true,  true,  KaxChapterTranslateID::ClassInfos),
+       EbmlSemantic(false, false, EBML_INFO(KaxChapterTranslateEditionUID)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxChapterTranslateCodec)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxChapterTranslateID)),
 };
 
 EbmlId KaxSegmentUID_TheId      (0x73A4, 2);
@@ -61,21 +61,21 @@ EbmlId KaxDuration_TheId        (0x4489, 2);
 EbmlId KaxDateUTC_TheId         (0x4461, 2);
 EbmlId KaxTitle_TheId           (0x7BA9, 2);
 
-const EbmlSemanticContext KaxSegmentUID_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxSegmentUID::ClassInfos);
-const EbmlSemanticContext KaxSegmentFilename_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxSegmentFilename::ClassInfos);
-const EbmlSemanticContext KaxPrevUID_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxPrevUID::ClassInfos);
-const EbmlSemanticContext KaxPrevFilename_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxPrevFilename::ClassInfos);
-const EbmlSemanticContext KaxNextUID_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxNextUID::ClassInfos);
-const EbmlSemanticContext KaxNextFilename_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxNextFilename::ClassInfos);
-const EbmlSemanticContext KaxSegmentFamily_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxSegmentFamily::ClassInfos);
-const EbmlSemanticContext KaxChapterTranslate_Context = EbmlSemanticContext(countof(KaxChapterTranslate_ContextList), KaxChapterTranslate_ContextList, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxChapterTranslate::ClassInfos);
-const EbmlSemanticContext KaxChapterTranslateEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterTranslate_Context, *GetKaxGlobal_Context, &KaxChapterTranslateEditionUID::ClassInfos);
-const EbmlSemanticContext KaxChapterTranslateCodec_Context = EbmlSemanticContext(0, NULL, &KaxChapterTranslate_Context, *GetKaxGlobal_Context, &KaxChapterTranslateCodec::ClassInfos);
-const EbmlSemanticContext KaxChapterTranslateID_Context = EbmlSemanticContext(0, NULL, &KaxChapterTranslate_Context, *GetKaxGlobal_Context, &KaxChapterTranslateID::ClassInfos);
-const EbmlSemanticContext KaxTimecodeScale_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxTimecodeScale::ClassInfos);
-const EbmlSemanticContext KaxDuration_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxDuration::ClassInfos);
-const EbmlSemanticContext KaxDateUTC_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxDateUTC::ClassInfos);
-const EbmlSemanticContext KaxTitle_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxTitle::ClassInfos);
+const EbmlSemanticContext KaxSegmentUID_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSegmentUID));
+const EbmlSemanticContext KaxSegmentFilename_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSegmentFilename));
+const EbmlSemanticContext KaxPrevUID_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxPrevUID));
+const EbmlSemanticContext KaxPrevFilename_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxPrevFilename));
+const EbmlSemanticContext KaxNextUID_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxNextUID));
+const EbmlSemanticContext KaxNextFilename_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxNextFilename));
+const EbmlSemanticContext KaxSegmentFamily_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSegmentFamily));
+const EbmlSemanticContext KaxChapterTranslate_Context = EbmlSemanticContext(countof(KaxChapterTranslate_ContextList), KaxChapterTranslate_ContextList, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTranslate));
+const EbmlSemanticContext KaxChapterTranslateEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxChapterTranslate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTranslateEditionUID));
+const EbmlSemanticContext KaxChapterTranslateCodec_Context = EbmlSemanticContext(0, NULL, &KaxChapterTranslate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTranslateCodec));
+const EbmlSemanticContext KaxChapterTranslateID_Context = EbmlSemanticContext(0, NULL, &KaxChapterTranslate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxChapterTranslateID));
+const EbmlSemanticContext KaxTimecodeScale_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTimecodeScale));
+const EbmlSemanticContext KaxDuration_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxDuration));
+const EbmlSemanticContext KaxDateUTC_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxDateUTC));
+const EbmlSemanticContext KaxTitle_Context = EbmlSemanticContext(0, NULL, &KaxInfo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTitle));
 
 
 const EbmlCallbacks KaxSegmentUID::ClassInfos(KaxSegmentUID::Create, KaxSegmentUID_TheId, "SegmentUID", KaxSegmentUID_Context);
index 4dfceca392d3c73d7ed62db4dc739623645191c2..ec9aaf27b58cee15653ba658c96d4340050257bf 100644 (file)
@@ -44,19 +44,19 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxSeekHead_ContextList[1] = 
 {
-       EbmlSemantic(true,  false,  KaxSeek::ClassInfos),
+       EbmlSemantic(true,  false,  EBML_INFO(KaxSeek)),
 };
 
 EbmlSemantic KaxSeek_ContextList[2] = 
 {
-       EbmlSemantic(true,  true,  KaxSeekID::ClassInfos),
-       EbmlSemantic(true,  true,  KaxSeekPosition::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxSeekID)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxSeekPosition)),
 };
 
-const EbmlSemanticContext KaxSeekHead_Context = EbmlSemanticContext(countof(KaxSeekHead_ContextList), KaxSeekHead_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxSeekHead::ClassInfos);
-const EbmlSemanticContext KaxSeek_Context = EbmlSemanticContext(countof(KaxSeek_ContextList), KaxSeek_ContextList, &KaxSeekHead_Context, *GetKaxGlobal_Context, &KaxSeek::ClassInfos);
-const EbmlSemanticContext KaxSeekID_Context = EbmlSemanticContext(0, NULL, &KaxSeek_Context, *GetKaxGlobal_Context, &KaxSeekID::ClassInfos);
-const EbmlSemanticContext KaxSeekPosition_Context = EbmlSemanticContext(0, NULL, &KaxSeek_Context, *GetKaxGlobal_Context, &KaxSeekPosition::ClassInfos);
+const EbmlSemanticContext KaxSeekHead_Context = EbmlSemanticContext(countof(KaxSeekHead_ContextList), KaxSeekHead_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSeekHead));
+const EbmlSemanticContext KaxSeek_Context = EbmlSemanticContext(countof(KaxSeek_ContextList), KaxSeek_ContextList, &KaxSeekHead_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSeek));
+const EbmlSemanticContext KaxSeekID_Context = EbmlSemanticContext(0, NULL, &KaxSeek_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSeekID));
+const EbmlSemanticContext KaxSeekPosition_Context = EbmlSemanticContext(0, NULL, &KaxSeek_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxSeekPosition));
 
 EbmlId KaxSeekHead_TheId    (0x114D9B74, 4);
 EbmlId KaxSeek_TheId        (0x4DBB, 2);
@@ -99,12 +99,12 @@ void KaxSeekHead::IndexThis(const EbmlElement & aElt, const KaxSegment & ParentS
 KaxSeek * KaxSeekHead::FindFirstOf(const EbmlCallbacks & Callbacks) const
 {
        // parse all the Entries and find the first to match the type
-       KaxSeek * aElt = static_cast<KaxSeek *>(FindFirstElt(KaxSeek::ClassInfos));
+       KaxSeek * aElt = static_cast<KaxSeek *>(FindFirstElt(EBML_INFO(KaxSeek)));
        while (aElt != NULL)
        {
                KaxSeekID * aId = NULL;
                for (unsigned int i = 0; i<aElt->ListSize(); i++) {
-                       if (EbmlId(*(*aElt)[i]) == KaxSeekID::ClassInfos.GlobalId) {
+                       if (EbmlId(*(*aElt)[i]) == EBML_ID(KaxSeekID)) {
                                aId = static_cast<KaxSeekID*>((*aElt)[i]);
                                EbmlId aEbmlId(aId->GetBuffer(), aId->GetSize());
                                if (aEbmlId == Callbacks.GlobalId)
@@ -136,7 +136,7 @@ KaxSeek * KaxSeekHead::FindNextOf(const KaxSeek &aPrev) const
                iIndex++;
                for (; iIndex<ListSize(); iIndex++)
                {
-                       if (EbmlId(*((*this)[iIndex])) == KaxSeek::ClassInfos.GlobalId)
+                       if (EbmlId(*((*this)[iIndex])) == EBML_ID(KaxSeek))
                        {
                                tmp = (KaxSeek *)((*this)[iIndex]);
                                if (tmp->IsEbmlId(aPrev))
@@ -150,7 +150,7 @@ KaxSeek * KaxSeekHead::FindNextOf(const KaxSeek &aPrev) const
 
 int64 KaxSeek::Location() const
 {
-       KaxSeekPosition *aPos = static_cast<KaxSeekPosition*>(FindFirstElt(KaxSeekPosition::ClassInfos));
+       KaxSeekPosition *aPos = static_cast<KaxSeekPosition*>(FindFirstElt(EBML_INFO(KaxSeekPosition)));
        if (aPos == NULL)
                return 0;
        return uint64(*aPos);
@@ -158,7 +158,7 @@ int64 KaxSeek::Location() const
 
 bool KaxSeek::IsEbmlId(const EbmlId & aId) const
 {
-       KaxSeekID *_Id = static_cast<KaxSeekID*>(FindFirstElt(KaxSeekID::ClassInfos));
+       KaxSeekID *_Id = static_cast<KaxSeekID*>(FindFirstElt(EBML_INFO(KaxSeekID)));
        if (_Id == NULL)
                return false;
        EbmlId aEbmlId(_Id->GetBuffer(), _Id->GetSize());
@@ -167,10 +167,10 @@ bool KaxSeek::IsEbmlId(const EbmlId & aId) const
 
 bool KaxSeek::IsEbmlId(const KaxSeek & aPoint) const
 {
-       KaxSeekID *_IdA = static_cast<KaxSeekID*>(FindFirstElt(KaxSeekID::ClassInfos));
+       KaxSeekID *_IdA = static_cast<KaxSeekID*>(FindFirstElt(EBML_INFO(KaxSeekID)));
        if (_IdA == NULL)
                return false;
-       KaxSeekID *_IdB = static_cast<KaxSeekID*>(aPoint.FindFirstElt(KaxSeekID::ClassInfos));
+       KaxSeekID *_IdB = static_cast<KaxSeekID*>(aPoint.FindFirstElt(EBML_INFO(KaxSeekID)));
        if (_IdB == NULL)
                return false;
        EbmlId aEbmlIdA(_IdA->GetBuffer(), _IdA->GetSize());
index 34bcad927877e1d795b1ee61b5a03cc16be00a3d..c947366311a093c82c894581f4eaff7e18eeba6d 100644 (file)
@@ -50,24 +50,24 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxMatroska_ContextList[2] =
 {
-       EbmlSemantic(true, true,  EbmlHead::ClassInfos),
-       EbmlSemantic(true, false, KaxSegment::ClassInfos),
+       EbmlSemantic(true, true,  EBML_INFO(EbmlHead)),
+       EbmlSemantic(true, false, EBML_INFO(KaxSegment)),
 };
 
 EbmlSemantic KaxSegment_ContextList[8] =
 {
-       EbmlSemantic(false, false, KaxCluster::ClassInfos),
-       EbmlSemantic(false, false, KaxSeekHead::ClassInfos),
-       EbmlSemantic(false, true,  KaxCues::ClassInfos),
-       EbmlSemantic(false, false, KaxTracks::ClassInfos),
-       EbmlSemantic(true,  true,  KaxInfo::ClassInfos),
-       EbmlSemantic(false, true,  KaxChapters::ClassInfos),
-       EbmlSemantic(false, true,  KaxAttachments::ClassInfos),
-       EbmlSemantic(false, true,  KaxTags::ClassInfos),
+       EbmlSemantic(false, false, EBML_INFO(KaxCluster)),
+       EbmlSemantic(false, false, EBML_INFO(KaxSeekHead)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxCues)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTracks)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxInfo)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxChapters)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxAttachments)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTags)),
 };
 
 const EbmlSemanticContext KaxMatroska_Context = EbmlSemanticContext(countof(KaxMatroska_ContextList), KaxMatroska_ContextList, NULL, *GetKaxGlobal_Context, NULL);
-const EbmlSemanticContext KaxSegment_Context = EbmlSemanticContext(countof(KaxSegment_ContextList), KaxSegment_ContextList, NULL, *GetKaxGlobal_Context, &KaxSegment::ClassInfos);
+const EbmlSemanticContext KaxSegment_Context = EbmlSemanticContext(countof(KaxSegment_ContextList), KaxSegment_ContextList, NULL, *GetKaxGlobal_Context, &EBML_INFO(KaxSegment));
 
 EbmlId KaxSegment_TheId(0x18538067, 4);
 const EbmlCallbacks KaxSegment::ClassInfos(KaxSegment::Create, KaxSegment_TheId, "Segment\0rotomopogo", KaxSegment_Context);
@@ -86,7 +86,7 @@ KaxSegment::KaxSegment(const KaxSegment & ElementToClone)
        std::vector<EbmlElement *>::const_iterator Itr = begin();
        while (Itr != end())
        {
-               if (EbmlId(**Itr) == KaxCluster::ClassInfos.GlobalId) {
+               if (EbmlId(**Itr) == EBML_ID(KaxCluster)) {
                        static_cast<KaxCluster *>(*Itr)->SetParent(*this);
                }
        }
index 86cd81732ef19605a8042752964aaee32c0807ee..172095943ec4e8e814b1654c612d09bdd765ba2b 100644 (file)
@@ -44,157 +44,157 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxTag_ContextList[14] =
 {      
-       EbmlSemantic(true,  true,  KaxTagTargets::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagGeneral::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagGenres::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagAudioSpecific::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagImageSpecific::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiCommercial::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiDate::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiEntity::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiIdentifier::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiLegal::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiTitle::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiAttachment::ClassInfos),
-//     EbmlSemantic(false, false, KaxTagLength::ClassInfos),
-//     EbmlSemantic(false, false, KaxTagPlaylistDelay::ClassInfos),
-//     EbmlSemantic(false, false, KaxTagUnsynchronisedText::ClassInfos),
-//     EbmlSemantic(false, false, KaxTagUserDefinedURL::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiComment::ClassInfos),
-       EbmlSemantic(true,  false, KaxTagSimple::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagTargets)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagGeneral)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagGenres)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagAudioSpecific)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagImageSpecific)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiCommercial)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiDate)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiEntity)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiIdentifier)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiLegal)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiTitle)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiAttachment)),
+//     EbmlSemantic(false, false, EBML_INFO(KaxTagLength)),
+//     EbmlSemantic(false, false, EBML_INFO(KaxTagPlaylistDelay)),
+//     EbmlSemantic(false, false, EBML_INFO(KaxTagUnsynchronisedText)),
+//     EbmlSemantic(false, false, EBML_INFO(KaxTagUserDefinedURL)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiComment)),
+       EbmlSemantic(true,  false, EBML_INFO(KaxTagSimple)),
 };
 
 EbmlSemantic KaxTagTargets_ContextList[6] =
 {      
-       EbmlSemantic(false, true,  KaxTagTargetTypeValue::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagTargetType::ClassInfos),
-       EbmlSemantic(false, false, KaxTagTrackUID::ClassInfos),
-       EbmlSemantic(false, false, KaxTagEditionUID::ClassInfos),
-       EbmlSemantic(false, false, KaxTagChapterUID::ClassInfos),
-       EbmlSemantic(false, false, KaxTagAttachmentUID::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagTargetTypeValue)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagTargetType)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagTrackUID)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagEditionUID)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagChapterUID)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagAttachmentUID)),
 };
 
 EbmlSemantic KaxTagGeneral_ContextList[17] =
 {      
-       EbmlSemantic(false, true,  KaxTagArchivalLocation::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagFile::ClassInfos),
-       EbmlSemantic(false, false, KaxTagKeywords::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMood::ClassInfos),
-       EbmlSemantic(false, false, KaxTagRecordLocation::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagSource::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagSourceForm::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagProduct::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagOriginalMediaType::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagPlayCounter::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagPopularimeter::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagSubject::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagBibliography::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagLanguage::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagRating::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagEncoder::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagEncodeSettings::ClassInfos),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagArchivalLocation)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagFile)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagKeywords)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMood)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagRecordLocation)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagSource)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagSourceForm)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagProduct)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagOriginalMediaType)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagPlayCounter)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagPopularimeter)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagSubject)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagBibliography)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagLanguage)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagRating)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagEncoder)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagEncodeSettings)),
 };
 
 EbmlSemantic KaxTagGenres_ContextList[3] =
 {      
-       EbmlSemantic(false, false, KaxTagAudioGenre::ClassInfos),
-       EbmlSemantic(false, false, KaxTagVideoGenre::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagSubGenre::ClassInfos),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagAudioGenre)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagVideoGenre)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagSubGenre)),
 };
 
 EbmlSemantic KaxTagAudioSpecific_ContextList[10] =
 {      
-       EbmlSemantic(false, true, KaxTagAudioPeak::ClassInfos),
-       EbmlSemantic(false, true, KaxTagAudioEncryption::ClassInfos),
-       EbmlSemantic(false, true, KaxTagAudioGain::ClassInfos),
-       EbmlSemantic(false, true, KaxTagBPM::ClassInfos),
-       EbmlSemantic(false, true, KaxTagDiscTrack::ClassInfos),
-       EbmlSemantic(false, true, KaxTagSetPart::ClassInfos),
-       EbmlSemantic(false, true, KaxTagEqualisation::ClassInfos),
-       EbmlSemantic(false, true, KaxTagInitialKey::ClassInfos),
-       EbmlSemantic(false, true, KaxTagOfficialAudioFileURL::ClassInfos),
-       EbmlSemantic(false, true, KaxTagOfficialAudioSourceURL::ClassInfos),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagAudioPeak)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagAudioEncryption)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagAudioGain)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagBPM)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagDiscTrack)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagSetPart)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagEqualisation)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagInitialKey)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagOfficialAudioFileURL)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagOfficialAudioSourceURL)),
 };
 
 EbmlSemantic KaxTagImageSpecific_ContextList[6] =
 {
-       EbmlSemantic(false, true, KaxTagCaptureDPI::ClassInfos),
-       EbmlSemantic(false, true, KaxTagCaptureLightness::ClassInfos),
-       EbmlSemantic(false, true, KaxTagCapturePaletteSetting::ClassInfos),
-       EbmlSemantic(false, true, KaxTagCaptureSharpness::ClassInfos),
-       EbmlSemantic(false, true, KaxTagCropped::ClassInfos),
-       EbmlSemantic(false, true, KaxTagOriginalDimensions::ClassInfos),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagCaptureDPI)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagCaptureLightness)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagCapturePaletteSetting)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagCaptureSharpness)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagCropped)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagOriginalDimensions)),
 };
 
 EbmlSemantic KaxTagSimple_ContextList[6] =
 {      
-       EbmlSemantic(true,  true,  KaxTagName::ClassInfos),
-       EbmlSemantic(true,  true,  KaxTagLangue::ClassInfos),
-       EbmlSemantic(true,  true,  KaxTagDefault::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagString::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagBinary::ClassInfos),
-       EbmlSemantic(false, false, KaxTagSimple::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagName)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagLangue)),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagDefault)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagString)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagBinary)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagSimple)),
 };
 
-const EbmlSemanticContext KaxTag_Context = EbmlSemanticContext(countof(KaxTag_ContextList), KaxTag_ContextList, &KaxTags_Context, *GetKaxTagsGlobal_Context, &KaxTag::ClassInfos);
-const EbmlSemanticContext KaxTagTargets_Context = EbmlSemanticContext(countof(KaxTagTargets_ContextList), KaxTagTargets_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagTargets::ClassInfos);
-const EbmlSemanticContext KaxTagGeneral_Context = EbmlSemanticContext(countof(KaxTagGeneral_ContextList), KaxTagGeneral_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagGeneral::ClassInfos);
-const EbmlSemanticContext KaxTagGenres_Context = EbmlSemanticContext(countof(KaxTagGenres_ContextList), KaxTagGenres_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagGenres::ClassInfos);
-const EbmlSemanticContext KaxTagAudioSpecific_Context = EbmlSemanticContext(countof(KaxTagAudioSpecific_ContextList), KaxTagAudioSpecific_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagAudioSpecific::ClassInfos);
-const EbmlSemanticContext KaxTagImageSpecific_Context = EbmlSemanticContext(countof(KaxTagImageSpecific_ContextList), KaxTagImageSpecific_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagImageSpecific::ClassInfos);
-const EbmlSemanticContext KaxTagBibliography_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagBibliography::ClassInfos);
-const EbmlSemanticContext KaxTagEncoder_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagEncoder::ClassInfos);
-const EbmlSemanticContext KaxTagEncodeSettings_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagEncodeSettings::ClassInfos);
-const EbmlSemanticContext KaxTagLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagLanguage::ClassInfos);
-const EbmlSemanticContext KaxTagLength_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagLength::ClassInfos);
-const EbmlSemanticContext KaxTagPlaylistDelay_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagPlaylistDelay::ClassInfos);
-const EbmlSemanticContext KaxTagRating_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagRating::ClassInfos);
-const EbmlSemanticContext KaxTagSubject_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagSubject::ClassInfos);
-const EbmlSemanticContext KaxTagUnsynchronisedText_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagUnsynchronisedText::ClassInfos);
-const EbmlSemanticContext KaxTagUserDefinedURL_Context = EbmlSemanticContext(0, NULL, &KaxTag_Context, *GetKaxGlobal_Context, &KaxTagUserDefinedURL::ClassInfos);
-const EbmlSemanticContext KaxTagTargetTypeValue_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &KaxTagTargetTypeValue::ClassInfos);
-const EbmlSemanticContext KaxTagTargetType_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &KaxTagTargetType::ClassInfos);
-const EbmlSemanticContext KaxTagTrackUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &KaxTagTrackUID::ClassInfos);
-const EbmlSemanticContext KaxTagEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &KaxTagEditionUID::ClassInfos);
-const EbmlSemanticContext KaxTagChapterUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &KaxTagChapterUID::ClassInfos);
-const EbmlSemanticContext KaxTagAttachmentUID_Context = EbmlSemanticContext(0, NULL, &KaxTagTargets_Context, *GetKaxGlobal_Context, &KaxTagAttachmentUID::ClassInfos);
-const EbmlSemanticContext KaxTagArchivalLocation_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagArchivalLocation::ClassInfos);
-const EbmlSemanticContext KaxTagFile_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagFile::ClassInfos);
-const EbmlSemanticContext KaxTagKeywords_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagKeywords::ClassInfos);
-const EbmlSemanticContext KaxTagMood_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagMood::ClassInfos);
-const EbmlSemanticContext KaxTagRecordLocation_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagRecordLocation::ClassInfos);
-const EbmlSemanticContext KaxTagSource_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagSource::ClassInfos);
-const EbmlSemanticContext KaxTagSourceForm_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagSourceForm::ClassInfos);
-const EbmlSemanticContext KaxTagProduct_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagProduct::ClassInfos);
-const EbmlSemanticContext KaxTagOriginalMediaType_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagOriginalMediaType::ClassInfos);
-const EbmlSemanticContext KaxTagPlayCounter_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagPlayCounter::ClassInfos);
-const EbmlSemanticContext KaxTagPopularimeter_Context = EbmlSemanticContext(0, NULL, &KaxTagGeneral_Context, *GetKaxGlobal_Context, &KaxTagPopularimeter::ClassInfos);
-const EbmlSemanticContext KaxTagAudioGenre_Context = EbmlSemanticContext(0, NULL, &KaxTagGenres_Context, *GetKaxGlobal_Context, &KaxTagAudioGenre::ClassInfos);
-const EbmlSemanticContext KaxTagVideoGenre_Context = EbmlSemanticContext(0, NULL, &KaxTagGenres_Context, *GetKaxGlobal_Context, &KaxTagVideoGenre::ClassInfos);
-const EbmlSemanticContext KaxTagSubGenre_Context = EbmlSemanticContext(0, NULL, &KaxTagGenres_Context, *GetKaxGlobal_Context, &KaxTagSubGenre::ClassInfos);
-const EbmlSemanticContext KaxTagAudioEncryption_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagAudioEncryption::ClassInfos);
-const EbmlSemanticContext KaxTagAudioGain_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagAudioGain::ClassInfos);
-const EbmlSemanticContext KaxTagAudioPeak_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagAudioPeak::ClassInfos);
-const EbmlSemanticContext KaxTagBPM_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagBPM::ClassInfos);
-const EbmlSemanticContext KaxTagDiscTrack_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagDiscTrack::ClassInfos);
-const EbmlSemanticContext KaxTagSetPart_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagSetPart::ClassInfos);
-const EbmlSemanticContext KaxTagEqualisation_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagEqualisation::ClassInfos);
-const EbmlSemanticContext KaxTagInitialKey_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagInitialKey::ClassInfos);
-const EbmlSemanticContext KaxTagOfficialAudioFileURL_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagOfficialAudioFileURL::ClassInfos);
-const EbmlSemanticContext KaxTagOfficialAudioSourceURL_Context = EbmlSemanticContext(0, NULL, &KaxTagAudioSpecific_Context, *GetKaxGlobal_Context, &KaxTagOfficialAudioSourceURL::ClassInfos);
-const EbmlSemanticContext KaxTagCaptureDPI_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &KaxTagCaptureDPI::ClassInfos);
-const EbmlSemanticContext KaxTagCaptureLightness_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &KaxTagCaptureLightness::ClassInfos);
-const EbmlSemanticContext KaxTagCapturePaletteSetting_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &KaxTagCapturePaletteSetting::ClassInfos);
-const EbmlSemanticContext KaxTagCaptureSharpness_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &KaxTagCaptureSharpness::ClassInfos);
-const EbmlSemanticContext KaxTagCropped_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &KaxTagCropped::ClassInfos);
-const EbmlSemanticContext KaxTagOriginalDimensions_Context = EbmlSemanticContext(0, NULL, &KaxTagImageSpecific_Context, *GetKaxGlobal_Context, &KaxTagOriginalDimensions::ClassInfos);
+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, &KaxTagSimple::ClassInfos);
-const EbmlSemanticContext KaxTagName_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &KaxTagName::ClassInfos);
-const EbmlSemanticContext KaxTagLangue_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &KaxTagLangue::ClassInfos);
-const EbmlSemanticContext KaxTagDefault_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &KaxTagDefault::ClassInfos);
-const EbmlSemanticContext KaxTagString_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &KaxTagString::ClassInfos);
-const EbmlSemanticContext KaxTagBinary_Context = EbmlSemanticContext(0, NULL, &KaxTagSimple_Context, *GetKaxGlobal_Context, &KaxTagBinary::ClassInfos);
+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);
index 42e16183ec2ee38fef2d56e446f563cc43e17672..3eb1da6a3a5d5c73c4897dc7072e4a07b379fc40 100644 (file)
@@ -42,175 +42,175 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxTagMultiGlobal_ContextList[1] =
 {
-       EbmlSemantic(false, false, KaxTagMultiComment::ClassInfos),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiComment)),
 };
 
 EbmlSemantic KaxTagMultiComment_ContextList[3] =
 {
-       EbmlSemantic(false, true, KaxTagMultiCommentName::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiCommentComments::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiCommentLanguage::ClassInfos),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiCommentName)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiCommentComments)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiCommentLanguage)),
 };
 
 EbmlSemantic KaxTagMultiCommercial_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTagCommercial::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTagCommercial)),
 };
 
 EbmlSemantic KaxTagCommercial_ContextList[5] =
 {
-       EbmlSemantic(true,  true,  KaxTagMultiCommercialType::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiCommercialAddress::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiCommercialURL::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiCommercialEmail::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiPrice::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagMultiCommercialType)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiCommercialAddress)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiCommercialURL)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiCommercialEmail)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiPrice)),
 };
 
 EbmlSemantic KaxTagMultiPrice_ContextList[3] =
 {
-       EbmlSemantic(false, true, KaxTagMultiPriceCurrency::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiPriceAmount::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiPricePriceDate::ClassInfos),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiPriceCurrency)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiPriceAmount)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiPricePriceDate)),
 };
 
 EbmlSemantic KaxTagMultiDate_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTagDate::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTagDate)),
 };
 
 EbmlSemantic KaxTagDate_ContextList[3] =
 {
-       EbmlSemantic(true,  true, KaxTagMultiDateType::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiDateDateBegin::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiDateDateEnd::ClassInfos),
+       EbmlSemantic(true,  true, EBML_INFO(KaxTagMultiDateType)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiDateDateBegin)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiDateDateEnd)),
 };
 
 EbmlSemantic KaxTagMultiEntity_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTagEntity::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTagEntity)),
 };
 
 EbmlSemantic KaxTagEntity_ContextList[5] =
 {
-       EbmlSemantic(true,  true,  KaxTagMultiEntityType::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiEntityName::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiEntityURL::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiEntityEmail::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiEntityAddress::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagMultiEntityType)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiEntityName)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiEntityURL)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiEntityEmail)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiEntityAddress)),
 };
 
 EbmlSemantic KaxTagMultiIdentifier_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTagIdentifier::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTagIdentifier)),
 };
 
 EbmlSemantic KaxTagIdentifier_ContextList[3] =
 {
-       EbmlSemantic(true,  true, KaxTagMultiIdentifierType::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiIdentifierBinary::ClassInfos),
-       EbmlSemantic(false, true, KaxTagMultiIdentifierString::ClassInfos),
+       EbmlSemantic(true,  true, EBML_INFO(KaxTagMultiIdentifierType)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiIdentifierBinary)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTagMultiIdentifierString)),
 };
 
 EbmlSemantic KaxTagMultiLegal_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTagLegal::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTagLegal)),
 };
 
 EbmlSemantic KaxTagLegal_ContextList[4] =
 {
-       EbmlSemantic(true,  true,  KaxTagMultiLegalType::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiLegalContent::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiLegalURL::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiLegalAddress::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagMultiLegalType)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiLegalContent)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiLegalURL)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiLegalAddress)),
 };
 
 EbmlSemantic KaxTagMultiTitle_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTagTitle::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTagTitle)),
 };
 
 EbmlSemantic KaxTagTitle_ContextList[8] =
 {
-       EbmlSemantic(true,  true,  KaxTagMultiTitleType::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiTitleName::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiTitleSubTitle::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiTitleEdition::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiTitleAddress::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiTitleURL::ClassInfos),
-       EbmlSemantic(false, false, KaxTagMultiTitleEmail::ClassInfos),
-       EbmlSemantic(false, true,  KaxTagMultiTitleLanguage::ClassInfos),
+       EbmlSemantic(true,  true,  EBML_INFO(KaxTagMultiTitleType)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiTitleName)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiTitleSubTitle)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiTitleEdition)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiTitleAddress)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiTitleURL)),
+       EbmlSemantic(false, false, EBML_INFO(KaxTagMultiTitleEmail)),
+       EbmlSemantic(false, true,  EBML_INFO(KaxTagMultiTitleLanguage)),
 };
 
 EbmlSemantic KaxTagMultiAttachment_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTagAttachment::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTagAttachment)),
 };
 
 EbmlSemantic KaxTagAttachment_ContextList[1] =
 {
-       EbmlSemantic(false, true,  KaxTagAttachmentID::ClassInfos),
+       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, &KaxTagMultiComment::ClassInfos);
-const EbmlSemanticContext KaxTagMultiCommentName_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiComment_Context, *GetKaxGlobal_Context, &KaxTagMultiCommentName::ClassInfos);
-const EbmlSemanticContext KaxTagMultiCommentComments_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiComment_Context, *GetKaxGlobal_Context, &KaxTagMultiCommentComments::ClassInfos);
-const EbmlSemanticContext KaxTagMultiCommentLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiComment_Context, *GetKaxGlobal_Context, &KaxTagMultiCommentLanguage::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiCommercial_Context = EbmlSemanticContext(countof(KaxTagMultiCommercial_ContextList), KaxTagMultiCommercial_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiCommercial::ClassInfos);
-const EbmlSemanticContext KaxTagCommercial_Context = EbmlSemanticContext(countof(KaxTagCommercial_ContextList), KaxTagCommercial_ContextList, &KaxTagMultiCommercial_Context, *GetKaxTagsGlobal_Context, &KaxTagCommercial::ClassInfos);
-const EbmlSemanticContext KaxTagMultiCommercialType_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &KaxTagMultiCommercialType::ClassInfos);
-const EbmlSemanticContext KaxTagMultiCommercialAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &KaxTagMultiCommercialAddress::ClassInfos);
-const EbmlSemanticContext KaxTagMultiCommercialURL_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &KaxTagMultiCommercialURL::ClassInfos);
-const EbmlSemanticContext KaxTagMultiCommercialEmail_Context = EbmlSemanticContext(0, NULL, &KaxTagCommercial_Context, *GetKaxGlobal_Context, &KaxTagMultiCommercialEmail::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiPrice_Context = EbmlSemanticContext(countof(KaxTagMultiPrice_ContextList), KaxTagMultiPrice_ContextList, &KaxTagCommercial_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiPrice::ClassInfos);
-const EbmlSemanticContext KaxTagMultiPriceCurrency_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiPrice_Context, *GetKaxGlobal_Context, &KaxTagMultiPriceCurrency::ClassInfos);
-const EbmlSemanticContext KaxTagMultiPriceAmount_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiPrice_Context, *GetKaxGlobal_Context, &KaxTagMultiPriceAmount::ClassInfos);
-const EbmlSemanticContext KaxTagMultiPricePriceDate_Context = EbmlSemanticContext(0, NULL, &KaxTagMultiPrice_Context, *GetKaxGlobal_Context, &KaxTagMultiPricePriceDate::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiDate_Context = EbmlSemanticContext(countof(KaxTagMultiDate_ContextList), KaxTagMultiDate_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiDate::ClassInfos);
-const EbmlSemanticContext KaxTagDate_Context = EbmlSemanticContext(countof(KaxTagDate_ContextList), KaxTagDate_ContextList, &KaxTagMultiDate_Context, *GetKaxTagsGlobal_Context, &KaxTagDate::ClassInfos);
-const EbmlSemanticContext KaxTagMultiDateType_Context = EbmlSemanticContext(0, NULL, &KaxTagDate_Context, *GetKaxGlobal_Context, &KaxTagMultiDateType::ClassInfos);
-const EbmlSemanticContext KaxTagMultiDateDateBegin_Context = EbmlSemanticContext(0, NULL, &KaxTagDate_Context, *GetKaxGlobal_Context, &KaxTagMultiDateDateBegin::ClassInfos);
-const EbmlSemanticContext KaxTagMultiDateDateEnd_Context = EbmlSemanticContext(0, NULL, &KaxTagDate_Context, *GetKaxGlobal_Context, &KaxTagMultiDateDateEnd::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiEntity_Context = EbmlSemanticContext(countof(KaxTagMultiEntity_ContextList), KaxTagMultiEntity_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiEntity::ClassInfos);
-const EbmlSemanticContext KaxTagEntity_Context = EbmlSemanticContext(countof(KaxTagEntity_ContextList), KaxTagEntity_ContextList, &KaxTagMultiEntity_Context, *GetKaxTagsGlobal_Context, &KaxTagEntity::ClassInfos);
-const EbmlSemanticContext KaxTagMultiEntityType_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &KaxTagMultiEntityType::ClassInfos);
-const EbmlSemanticContext KaxTagMultiEntityName_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &KaxTagMultiEntityName::ClassInfos);
-const EbmlSemanticContext KaxTagMultiEntityURL_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &KaxTagMultiEntityURL::ClassInfos);
-const EbmlSemanticContext KaxTagMultiEntityEmail_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &KaxTagMultiEntityEmail::ClassInfos);
-const EbmlSemanticContext KaxTagMultiEntityAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagEntity_Context, *GetKaxGlobal_Context, &KaxTagMultiEntityAddress::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiIdentifier_Context = EbmlSemanticContext(countof(KaxTagMultiIdentifier_ContextList), KaxTagMultiIdentifier_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiIdentifier::ClassInfos);
-const EbmlSemanticContext KaxTagIdentifier_Context = EbmlSemanticContext(countof(KaxTagIdentifier_ContextList), KaxTagIdentifier_ContextList, &KaxTagMultiIdentifier_Context, *GetKaxTagsGlobal_Context, &KaxTagIdentifier::ClassInfos);
-const EbmlSemanticContext KaxTagMultiIdentifierType_Context = EbmlSemanticContext(0, NULL, &KaxTagIdentifier_Context, *GetKaxGlobal_Context, &KaxTagMultiIdentifierType::ClassInfos);
-const EbmlSemanticContext KaxTagMultiIdentifierBinary_Context = EbmlSemanticContext(0, NULL, &KaxTagIdentifier_Context, *GetKaxGlobal_Context, &KaxTagMultiIdentifierBinary::ClassInfos);
-const EbmlSemanticContext KaxTagMultiIdentifierString_Context = EbmlSemanticContext(0, NULL, &KaxTagIdentifier_Context, *GetKaxGlobal_Context, &KaxTagMultiIdentifierString::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiLegal_Context = EbmlSemanticContext(countof(KaxTagMultiLegal_ContextList), KaxTagMultiLegal_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiLegal::ClassInfos);
-const EbmlSemanticContext KaxTagLegal_Context = EbmlSemanticContext(countof(KaxTagLegal_ContextList), KaxTagLegal_ContextList, &KaxTagMultiLegal_Context, *GetKaxTagsGlobal_Context, &KaxTagLegal::ClassInfos);
-const EbmlSemanticContext KaxTagMultiLegalType_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &KaxTagMultiLegalType::ClassInfos);
-const EbmlSemanticContext KaxTagMultiLegalContent_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &KaxTagMultiLegalContent::ClassInfos);
-const EbmlSemanticContext KaxTagMultiLegalURL_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &KaxTagMultiLegalURL::ClassInfos);
-const EbmlSemanticContext KaxTagMultiLegalAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagLegal_Context, *GetKaxGlobal_Context, &KaxTagMultiLegalAddress::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiTitle_Context = EbmlSemanticContext(countof(KaxTagMultiTitle_ContextList), KaxTagMultiTitle_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiTitle::ClassInfos);
-const EbmlSemanticContext KaxTagTitle_Context = EbmlSemanticContext(countof(KaxTagTitle_ContextList), KaxTagTitle_ContextList, &KaxTagMultiTitle_Context, *GetKaxTagsGlobal_Context, &KaxTagTitle::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleType_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleType::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleName_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleName::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleSubTitle_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleSubTitle::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleEdition_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleEdition::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleAddress_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleAddress::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleURL_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleURL::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleEmail_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleEmail::ClassInfos);
-const EbmlSemanticContext KaxTagMultiTitleLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTagTitle_Context, *GetKaxGlobal_Context, &KaxTagMultiTitleLanguage::ClassInfos);
-
-const EbmlSemanticContext KaxTagMultiAttachment_Context = EbmlSemanticContext(countof(KaxTagMultiAttachment_ContextList), KaxTagMultiAttachment_ContextList, &KaxTag_Context, *GetKaxTagsGlobal_Context, &KaxTagMultiAttachment::ClassInfos);
-const EbmlSemanticContext KaxTagAttachment_Context = EbmlSemanticContext(countof(KaxTagAttachment_ContextList), KaxTagAttachment_ContextList, &KaxTagMultiAttachment_Context, *GetKaxTagsGlobal_Context, &KaxTagAttachment::ClassInfos);
-const EbmlSemanticContext KaxTagAttachmentID_Context = EbmlSemanticContext(0, NULL, &KaxTagAttachment_Context, *GetKaxGlobal_Context, &KaxTagAttachmentID::ClassInfos);
+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);
index 4b9b7124334a85a8858e98562788dc0ae9d83c8f..272f63dbc29d2c02770babd3ba1cb27ba22622ba 100644 (file)
@@ -44,10 +44,10 @@ START_LIBMATROSKA_NAMESPACE
 
 EbmlSemantic KaxTags_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTag::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTag)),
 };
 
-const EbmlSemanticContext KaxTags_Context = EbmlSemanticContext(countof(KaxTags_ContextList), KaxTags_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxTags::ClassInfos);
+const EbmlSemanticContext KaxTags_Context = EbmlSemanticContext(countof(KaxTags_ContextList), KaxTags_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTags));
 
 EbmlId KaxTags_TheId(0x1254C367, 4);
 
index 7fc934d2372745352841d5deb8e940c6b6e147fb..5671c359d823917d6823101a0e3a71a826d317e4 100644 (file)
@@ -45,22 +45,22 @@ const EbmlSemantic KaxTrackAudio_ContextList[4] =
 const EbmlSemantic KaxTrackAudio_ContextList[5] =
 #endif // MATROSKA_VERSION
 {
-       EbmlSemantic(true , true, KaxAudioSamplingFreq::ClassInfos),
-       EbmlSemantic(true , true, KaxAudioChannels::ClassInfos),
-       EbmlSemantic(false, true, KaxAudioBitDepth::ClassInfos),
-       EbmlSemantic(false, true, KaxAudioOutputSamplingFreq::ClassInfos),
+       EbmlSemantic(true , true, EBML_INFO(KaxAudioSamplingFreq)),
+       EbmlSemantic(true , true, EBML_INFO(KaxAudioChannels)),
+       EbmlSemantic(false, true, EBML_INFO(KaxAudioBitDepth)),
+       EbmlSemantic(false, true, EBML_INFO(KaxAudioOutputSamplingFreq)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(false, true, KaxAudioPosition::ClassInfos),
+       EbmlSemantic(false, true, EBML_INFO(KaxAudioPosition)),
 #endif // MATROSKA_VERSION
 };
 
-const EbmlSemanticContext KaxTrackAudio_Context = EbmlSemanticContext(countof(KaxTrackAudio_ContextList), KaxTrackAudio_ContextList, &KaxTrackEntry_Context, *GetKaxGlobal_Context, &KaxTrackAudio::ClassInfos);
-const EbmlSemanticContext KaxAudioSamplingFreq_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &KaxAudioSamplingFreq::ClassInfos);
-const EbmlSemanticContext KaxAudioOutputSamplingFreq_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &KaxAudioOutputSamplingFreq::ClassInfos);
-const EbmlSemanticContext KaxAudioChannels_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &KaxAudioChannels::ClassInfos);
-const EbmlSemanticContext KaxAudioBitDepth_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &KaxAudioBitDepth::ClassInfos);
+const EbmlSemanticContext KaxTrackAudio_Context = EbmlSemanticContext(countof(KaxTrackAudio_ContextList), KaxTrackAudio_ContextList, &KaxTrackEntry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackAudio));
+const EbmlSemanticContext KaxAudioSamplingFreq_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxAudioSamplingFreq));
+const EbmlSemanticContext KaxAudioOutputSamplingFreq_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxAudioOutputSamplingFreq));
+const EbmlSemanticContext KaxAudioChannels_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxAudioChannels));
+const EbmlSemanticContext KaxAudioBitDepth_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxAudioBitDepth));
 #if MATROSKA_VERSION >= 2
-const EbmlSemanticContext KaxAudioPosition_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &KaxAudioPosition::ClassInfos);
+const EbmlSemanticContext KaxAudioPosition_Context = EbmlSemanticContext(0, NULL, &KaxTrackAudio_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxAudioPosition));
 #endif // MATROSKA_VERSION
 
 EbmlId KaxTrackAudio_TheId       (0xE1, 1);
index a26cfd9478d76f0c1809a91c0fbefb58191a7fd8..7f8fce967f9c5f3b4700e81d3cbe16051057a679 100644 (file)
@@ -40,9 +40,9 @@ START_LIBMATROSKA_NAMESPACE
 
 const EbmlSemantic KaxTrackTranslate_ContextList[3] =
 {
-       EbmlSemantic(false, false,KaxTrackTranslateEditionUID::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackTranslateCodec::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackTranslateTrackID::ClassInfos),
+       EbmlSemantic(false, false,EBML_INFO(KaxTrackTranslateEditionUID)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackTranslateCodec)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackTranslateTrackID)),
 };
 
 EbmlId KaxTrackNumber_TheId            (0xD7, 1);
@@ -75,34 +75,34 @@ EbmlId KaxCodecDownloadURL_TheId       (0x26B240, 3);
 EbmlId KaxCodecDecodeAll_TheId         (0xAA, 1);
 #endif // MATROSKA_VERSION
 
-const EbmlSemanticContext KaxTrackNumber_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackNumber::ClassInfos);
-const EbmlSemanticContext KaxTrackUID_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackUID::ClassInfos);
-const EbmlSemanticContext KaxTrackType_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackType::ClassInfos);
-const EbmlSemanticContext KaxTrackFlagDefault_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackFlagDefault::ClassInfos);
-const EbmlSemanticContext KaxTrackFlagForced_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackFlagForced::ClassInfos);
-const EbmlSemanticContext KaxTrackFlagLacing_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackFlagLacing::ClassInfos);
-const EbmlSemanticContext KaxTrackMinCache_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackMinCache::ClassInfos);
-const EbmlSemanticContext KaxTrackMaxCache_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackMaxCache::ClassInfos);
-const EbmlSemanticContext KaxTrackDefaultDuration_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackDefaultDuration::ClassInfos);
-const EbmlSemanticContext KaxTrackTimecodeScale_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackTimecodeScale::ClassInfos);
-const EbmlSemanticContext KaxMaxBlockAdditionID_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxMaxBlockAdditionID::ClassInfos);
-const EbmlSemanticContext KaxTrackName_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackName::ClassInfos);
-const EbmlSemanticContext KaxTrackLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackLanguage::ClassInfos);
-const EbmlSemanticContext KaxCodecID_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxCodecID::ClassInfos);
-const EbmlSemanticContext KaxCodecPrivate_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxCodecPrivate::ClassInfos);
-const EbmlSemanticContext KaxCodecName_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxCodecName::ClassInfos);
-const EbmlSemanticContext KaxTrackAttachmentLink_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackAttachmentLink::ClassInfos);
-const EbmlSemanticContext KaxTrackOverlay_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackOverlay::ClassInfos);
-const EbmlSemanticContext KaxTrackTranslate_Context = EbmlSemanticContext(countof(KaxTrackTranslate_ContextList), KaxTrackTranslate_ContextList, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackTranslate::ClassInfos);
-const EbmlSemanticContext KaxTrackTranslateEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxTrackTranslate_Context, *GetKaxGlobal_Context, &KaxTrackTranslateEditionUID::ClassInfos);
-const EbmlSemanticContext KaxTrackTranslateCodec_Context = EbmlSemanticContext(0, NULL, &KaxTrackTranslate_Context, *GetKaxGlobal_Context, &KaxTrackTranslateCodec::ClassInfos);
-const EbmlSemanticContext KaxTrackTranslateTrackID_Context = EbmlSemanticContext(0, NULL, &KaxTrackTranslate_Context, *GetKaxGlobal_Context, &KaxTrackTranslateTrackID::ClassInfos);
+const EbmlSemanticContext KaxTrackNumber_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackNumber));
+const EbmlSemanticContext KaxTrackUID_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackUID));
+const EbmlSemanticContext KaxTrackType_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackType));
+const EbmlSemanticContext KaxTrackFlagDefault_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackFlagDefault));
+const EbmlSemanticContext KaxTrackFlagForced_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackFlagForced));
+const EbmlSemanticContext KaxTrackFlagLacing_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackFlagLacing));
+const EbmlSemanticContext KaxTrackMinCache_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackMinCache));
+const EbmlSemanticContext KaxTrackMaxCache_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackMaxCache));
+const EbmlSemanticContext KaxTrackDefaultDuration_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackDefaultDuration));
+const EbmlSemanticContext KaxTrackTimecodeScale_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackTimecodeScale));
+const EbmlSemanticContext KaxMaxBlockAdditionID_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxMaxBlockAdditionID));
+const EbmlSemanticContext KaxTrackName_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackName));
+const EbmlSemanticContext KaxTrackLanguage_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackLanguage));
+const EbmlSemanticContext KaxCodecID_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecID));
+const EbmlSemanticContext KaxCodecPrivate_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecPrivate));
+const EbmlSemanticContext KaxCodecName_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecName));
+const EbmlSemanticContext KaxTrackAttachmentLink_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackAttachmentLink));
+const EbmlSemanticContext KaxTrackOverlay_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackOverlay));
+const EbmlSemanticContext KaxTrackTranslate_Context = EbmlSemanticContext(countof(KaxTrackTranslate_ContextList), KaxTrackTranslate_ContextList, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackTranslate));
+const EbmlSemanticContext KaxTrackTranslateEditionUID_Context = EbmlSemanticContext(0, NULL, &KaxTrackTranslate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackTranslateEditionUID));
+const EbmlSemanticContext KaxTrackTranslateCodec_Context = EbmlSemanticContext(0, NULL, &KaxTrackTranslate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackTranslateCodec));
+const EbmlSemanticContext KaxTrackTranslateTrackID_Context = EbmlSemanticContext(0, NULL, &KaxTrackTranslate_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackTranslateTrackID));
 #if MATROSKA_VERSION >= 2
-const EbmlSemanticContext KaxTrackFlagEnabled_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackFlagEnabled::ClassInfos);
-const EbmlSemanticContext KaxCodecSettings_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxCodecSettings::ClassInfos);
-const EbmlSemanticContext KaxCodecInfoURL_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxCodecInfoURL::ClassInfos);
-const EbmlSemanticContext KaxCodecDownloadURL_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxCodecDownloadURL::ClassInfos);
-const EbmlSemanticContext KaxCodecDecodeAll_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxCodecDecodeAll::ClassInfos);
+const EbmlSemanticContext KaxTrackFlagEnabled_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackFlagEnabled));
+const EbmlSemanticContext KaxCodecSettings_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecSettings));
+const EbmlSemanticContext KaxCodecInfoURL_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecInfoURL));
+const EbmlSemanticContext KaxCodecDownloadURL_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecDownloadURL));
+const EbmlSemanticContext KaxCodecDecodeAll_Context = EbmlSemanticContext(0, NULL, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxCodecDecodeAll));
 #endif // MATROSKA_VERSION
 
 const EbmlCallbacks KaxTrackNumber::ClassInfos(KaxTrackNumber::Create, KaxTrackNumber_TheId, "TrackNumber", KaxTrackNumber_Context);
index 64726d80f78d2e37457dcfc67fbd15f3bdd2f9d4..c1fdd8fe44d5dd08c4e0bf475a464e537fc48102 100644 (file)
@@ -45,42 +45,42 @@ const EbmlSemantic KaxTrackVideo_ContextList[10] =
 const EbmlSemantic KaxTrackVideo_ContextList[15] =
 #endif // MATROSKA_VERSION
 {
-       EbmlSemantic(true , true, KaxVideoPixelWidth::ClassInfos),
-       EbmlSemantic(true , true, KaxVideoPixelHeight::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoPixelCropBottom::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoPixelCropTop::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoPixelCropLeft::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoPixelCropRight::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoDisplayWidth::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoDisplayHeight::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoColourSpace::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoFrameRate::ClassInfos),
+       EbmlSemantic(true , true, EBML_INFO(KaxVideoPixelWidth)),
+       EbmlSemantic(true , true, EBML_INFO(KaxVideoPixelHeight)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoPixelCropBottom)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoPixelCropTop)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoPixelCropLeft)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoPixelCropRight)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoDisplayWidth)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoDisplayHeight)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoColourSpace)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoFrameRate)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(true , true, KaxVideoFlagInterlaced::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoStereoMode::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoDisplayUnit::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoAspectRatio::ClassInfos),
-       EbmlSemantic(false, true, KaxVideoGamma::ClassInfos),
+       EbmlSemantic(true , true, EBML_INFO(KaxVideoFlagInterlaced)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoStereoMode)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoDisplayUnit)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoAspectRatio)),
+       EbmlSemantic(false, true, EBML_INFO(KaxVideoGamma)),
 #endif // MATROSKA_VERSION
 };
 
-const EbmlSemanticContext KaxTrackVideo_Context = EbmlSemanticContext(countof(KaxTrackVideo_ContextList), KaxTrackVideo_ContextList, &KaxTrackEntry_Context, *GetKaxGlobal_Context, &KaxTrackVideo::ClassInfos);
-const EbmlSemanticContext KaxVideoPixelWidth_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoPixelWidth::ClassInfos);
-const EbmlSemanticContext KaxVideoPixelHeight_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoPixelHeight::ClassInfos);
-const EbmlSemanticContext KaxVideoPixelCropBottom_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoPixelCropBottom::ClassInfos);
-const EbmlSemanticContext KaxVideoPixelCropTop_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoPixelCropTop::ClassInfos);
-const EbmlSemanticContext KaxVideoPixelCropRight_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoPixelCropLeft::ClassInfos);
-const EbmlSemanticContext KaxVideoPixelCropLeft_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoPixelCropRight::ClassInfos);
-const EbmlSemanticContext KaxVideoDisplayWidth_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoDisplayWidth::ClassInfos);
-const EbmlSemanticContext KaxVideoDisplayHeight_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoDisplayHeight::ClassInfos);
-const EbmlSemanticContext KaxVideoColourSpace_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoColourSpace::ClassInfos);
-const EbmlSemanticContext KaxVideoFrameRate_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoFrameRate::ClassInfos);
+const EbmlSemanticContext KaxTrackVideo_Context = EbmlSemanticContext(countof(KaxTrackVideo_ContextList), KaxTrackVideo_ContextList, &KaxTrackEntry_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackVideo));
+const EbmlSemanticContext KaxVideoPixelWidth_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoPixelWidth));
+const EbmlSemanticContext KaxVideoPixelHeight_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoPixelHeight));
+const EbmlSemanticContext KaxVideoPixelCropBottom_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoPixelCropBottom));
+const EbmlSemanticContext KaxVideoPixelCropTop_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoPixelCropTop));
+const EbmlSemanticContext KaxVideoPixelCropRight_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoPixelCropLeft));
+const EbmlSemanticContext KaxVideoPixelCropLeft_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoPixelCropRight));
+const EbmlSemanticContext KaxVideoDisplayWidth_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoDisplayWidth));
+const EbmlSemanticContext KaxVideoDisplayHeight_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoDisplayHeight));
+const EbmlSemanticContext KaxVideoColourSpace_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoColourSpace));
+const EbmlSemanticContext KaxVideoFrameRate_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoFrameRate));
 #if MATROSKA_VERSION >= 2
-const EbmlSemanticContext KaxVideoFlagInterlaced_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoFlagInterlaced::ClassInfos);
-const EbmlSemanticContext KaxVideoStereoMode_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoStereoMode::ClassInfos);
-const EbmlSemanticContext KaxVideoDisplayUnit_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoDisplayUnit::ClassInfos);
-const EbmlSemanticContext KaxVideoAspectRatio_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoAspectRatio::ClassInfos);
-const EbmlSemanticContext KaxVideoGamma_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &KaxVideoGamma::ClassInfos);
+const EbmlSemanticContext KaxVideoFlagInterlaced_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoFlagInterlaced));
+const EbmlSemanticContext KaxVideoStereoMode_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoStereoMode));
+const EbmlSemanticContext KaxVideoDisplayUnit_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoDisplayUnit));
+const EbmlSemanticContext KaxVideoAspectRatio_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoAspectRatio));
+const EbmlSemanticContext KaxVideoGamma_Context = EbmlSemanticContext(0, NULL, &KaxTrackVideo_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxVideoGamma));
 #endif // MATROSKA_VERSION
 
 EbmlId KaxTrackVideo_TheId          (0xE0, 1);
index 4fc79fa10ced0be0e2bfa0f98296d26a2d3c480e..7813379bb30a8fe67dfab3abedaa0afd09ea5c2d 100644 (file)
@@ -45,7 +45,7 @@ START_LIBMATROSKA_NAMESPACE
 
 const EbmlSemantic KaxTracks_ContextList[1] =
 {
-       EbmlSemantic(true, false, KaxTrackEntry::ClassInfos),
+       EbmlSemantic(true, false, EBML_INFO(KaxTrackEntry)),
 };
 
 #if MATROSKA_VERSION == 1
@@ -54,41 +54,41 @@ const EbmlSemantic KaxTrackEntry_ContextList[22] =
 const EbmlSemantic KaxTrackEntry_ContextList[27] =
 #endif // MATROSKA_VERSION
 {
-       EbmlSemantic(true , true, KaxTrackNumber::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackUID::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackType::ClassInfos),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackNumber)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackUID)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackType)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(true , true, KaxTrackFlagEnabled::ClassInfos),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackFlagEnabled)),
 #endif // MATROSKA_VERSION
-       EbmlSemantic(true , true, KaxTrackFlagDefault::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackFlagForced::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackFlagLacing::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackMinCache::ClassInfos),
-       EbmlSemantic(false, true, KaxTrackMaxCache::ClassInfos),
-       EbmlSemantic(false, true, KaxTrackDefaultDuration::ClassInfos),
-       EbmlSemantic(true , true, KaxTrackTimecodeScale::ClassInfos),
-       EbmlSemantic(true , true, KaxMaxBlockAdditionID::ClassInfos),
-       EbmlSemantic(false, true, KaxTrackName::ClassInfos),
-       EbmlSemantic(false, true, KaxTrackLanguage::ClassInfos),
-       EbmlSemantic(true , true, KaxCodecID::ClassInfos),
-       EbmlSemantic(false, true, KaxCodecPrivate::ClassInfos),
-       EbmlSemantic(false, true, KaxCodecName::ClassInfos),
-       EbmlSemantic(false, true, KaxTrackAttachmentLink::ClassInfos),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackFlagDefault)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackFlagForced)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackFlagLacing)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackMinCache)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTrackMaxCache)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTrackDefaultDuration)),
+       EbmlSemantic(true , true, EBML_INFO(KaxTrackTimecodeScale)),
+       EbmlSemantic(true , true, EBML_INFO(KaxMaxBlockAdditionID)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTrackName)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTrackLanguage)),
+       EbmlSemantic(true , true, EBML_INFO(KaxCodecID)),
+       EbmlSemantic(false, true, EBML_INFO(KaxCodecPrivate)),
+       EbmlSemantic(false, true, EBML_INFO(KaxCodecName)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTrackAttachmentLink)),
 #if MATROSKA_VERSION >= 2
-       EbmlSemantic(false, true, KaxCodecSettings::ClassInfos),
-       EbmlSemantic(false, false,KaxCodecInfoURL::ClassInfos),
-       EbmlSemantic(false, false,KaxCodecDownloadURL::ClassInfos),
-       EbmlSemantic(true , true, KaxCodecDecodeAll::ClassInfos),
+       EbmlSemantic(false, true, EBML_INFO(KaxCodecSettings)),
+       EbmlSemantic(false, false,EBML_INFO(KaxCodecInfoURL)),
+       EbmlSemantic(false, false,EBML_INFO(KaxCodecDownloadURL)),
+       EbmlSemantic(true , true, EBML_INFO(KaxCodecDecodeAll)),
 #endif // MATROSKA_VERSION
-       EbmlSemantic(false, false,KaxTrackOverlay::ClassInfos),
-       EbmlSemantic(false, false,KaxTrackTranslate::ClassInfos),
-       EbmlSemantic(false, true, KaxTrackAudio::ClassInfos),
-       EbmlSemantic(false, true, KaxTrackVideo::ClassInfos),
-       EbmlSemantic(false, true, KaxContentEncodings::ClassInfos),
+       EbmlSemantic(false, false,EBML_INFO(KaxTrackOverlay)),
+       EbmlSemantic(false, false,EBML_INFO(KaxTrackTranslate)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTrackAudio)),
+       EbmlSemantic(false, true, EBML_INFO(KaxTrackVideo)),
+       EbmlSemantic(false, true, EBML_INFO(KaxContentEncodings)),
 };
 
-const EbmlSemanticContext KaxTracks_Context = EbmlSemanticContext(countof(KaxTracks_ContextList), KaxTracks_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxTracks::ClassInfos);
-const EbmlSemanticContext KaxTrackEntry_Context = EbmlSemanticContext(countof(KaxTrackEntry_ContextList), KaxTrackEntry_ContextList, &KaxTracks_Context, *GetKaxGlobal_Context, &KaxTrackEntry::ClassInfos);
+const EbmlSemanticContext KaxTracks_Context = EbmlSemanticContext(countof(KaxTracks_ContextList), KaxTracks_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTracks));
+const EbmlSemanticContext KaxTrackEntry_Context = EbmlSemanticContext(countof(KaxTrackEntry_ContextList), KaxTrackEntry_ContextList, &KaxTracks_Context, *GetKaxGlobal_Context, &EBML_INFO(KaxTrackEntry));
 
 EbmlId KaxTracks_TheId    (0x1654AE6B, 4);
 EbmlId KaxTrackEntry_TheId(0xAE, 1);