[matroska] r1034 - in trunk/libmatroska: matroska src
[email protected] Thu, 13 Jan 2005 19:41:49 +0300 (MSK)
Newsgroups
gmane.comp.multimedia.matroska.cvs
Message-ID
<[email protected] >
Author: robux4
Date: 2005-01-13 19:41:48 +0300 (Thu, 13 Jan 2005)
New Revision: 1034
Modified:
trunk/libmatroska/matroska/KaxInfoData.h
trunk/libmatroska/src/KaxInfo.cpp
trunk/libmatroska/src/KaxInfoData.cpp
Log:
libmatroska: added KaxSegmentFamily, KaxChapterLink, KaxChapterLinkCodec and KaxChapterLinkID
Modified: trunk/libmatroska/matroska/KaxInfoData.h
===================================================================
--- trunk/libmatroska/matroska/KaxInfoData.h 2005-01-10 22:49:42 UTC (rev 1033)
+++ trunk/libmatroska/matroska/KaxInfoData.h 2005-01-13 16:41:48 UTC (rev 1034)
@@ -117,6 +117,51 @@
EbmlElement * Clone() const {return new KaxNextFilename(*this);}
};
+class MATROSKA_DLL_API KaxSegmentFamily : public EbmlBinary {
+ public:
+ KaxSegmentFamily() {}
+ KaxSegmentFamily(const KaxSegmentFamily & ElementToClone) :EbmlBinary(ElementToClone){}
+ static EbmlElement & Create() {return *(new KaxSegmentFamily);}
+ bool ValidateSize() const { return (Size == 16);}
+ const EbmlCallbacks & Generic() const {return ClassInfos;}
+ static const EbmlCallbacks ClassInfos;
+ operator const EbmlId &() const {return ClassInfos.GlobalId;}
+ EbmlElement * Clone() const {return new KaxSegmentFamily(*this);}
+};
+
+class MATROSKA_DLL_API KaxChapterLink : public EbmlMaster {
+ public:
+ KaxChapterLink();
+ KaxChapterLink(const KaxChapterLink & ElementToClone) :EbmlMaster(ElementToClone) {}
+ static EbmlElement & Create() {return *(new KaxChapterLink);}
+ const EbmlCallbacks & Generic() const {return ClassInfos;}
+ static const EbmlCallbacks ClassInfos;
+ operator const EbmlId &() const {return ClassInfos.GlobalId;}
+ EbmlElement * Clone() const {return new KaxChapterLink(*this);}
+};
+
+class MATROSKA_DLL_API KaxChapterLinkCodec : public EbmlUInteger {
+ public:
+ KaxChapterLinkCodec() {}
+ KaxChapterLinkCodec(const KaxChapterLinkCodec & ElementToClone) :EbmlUInteger(ElementToClone) {}
+ static EbmlElement & Create() {return *(new KaxChapterLinkCodec);}
+ const EbmlCallbacks & Generic() const {return ClassInfos;}
+ static const EbmlCallbacks ClassInfos;
+ operator const EbmlId &() const {return ClassInfos.GlobalId;}
+ EbmlElement * Clone() const {return new KaxChapterLinkCodec(*this);}
+};
+
+class MATROSKA_DLL_API KaxChapterLinkID : public EbmlBinary {
+ public:
+ KaxChapterLinkID() {}
+ KaxChapterLinkID(const KaxChapterLinkID & ElementToClone) :EbmlBinary(ElementToClone){}
+ static EbmlElement & Create() {return *(new KaxChapterLinkID);}
+ const EbmlCallbacks & Generic() const {return ClassInfos;}
+ static const EbmlCallbacks ClassInfos;
+ operator const EbmlId &() const {return ClassInfos.GlobalId;}
+ EbmlElement * Clone() const {return new KaxChapterLinkID(*this);}
+};
+
class MATROSKA_DLL_API KaxTimecodeScale : public EbmlUInteger {
public:
KaxTimecodeScale() :EbmlUInteger(1000000) {}
Modified: trunk/libmatroska/src/KaxInfo.cpp
===================================================================
--- trunk/libmatroska/src/KaxInfo.cpp 2005-01-10 22:49:42 UTC (rev 1033)
+++ trunk/libmatroska/src/KaxInfo.cpp 2005-01-13 16:41:48 UTC (rev 1034)
@@ -40,20 +40,22 @@
// sub elements
START_LIBMATROSKA_NAMESPACE
-const EbmlSemantic KaxInfo_ContextList[12] =
+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(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, 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(true, true, KaxSegmentFamily::ClassInfos),
+ EbmlSemantic(false, false, KaxChapterLink::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),
};
const EbmlSemanticContext KaxInfo_Context = EbmlSemanticContext(countof(KaxInfo_ContextList), KaxInfo_ContextList, &KaxSegment_Context, *GetKaxGlobal_Context, &KaxInfo::ClassInfos);
Modified: trunk/libmatroska/src/KaxInfoData.cpp
===================================================================
--- trunk/libmatroska/src/KaxInfoData.cpp 2005-01-10 22:49:42 UTC (rev 1033)
+++ trunk/libmatroska/src/KaxInfoData.cpp 2005-01-13 16:41:48 UTC (rev 1034)
@@ -38,23 +38,39 @@
START_LIBMATROSKA_NAMESPACE
-EbmlId KaxSegmentUID_TheId (0x73A4, 2);
-EbmlId KaxSegmentFilename_TheId(0x7384, 2);
-EbmlId KaxPrevUID_TheId (0x3CB923, 3);
-EbmlId KaxPrevFilename_TheId (0x3C83AB, 3);
-EbmlId KaxNextUID_TheId (0x3EB923, 3);
-EbmlId KaxNextFilename_TheId (0x3E83BB, 3);
-EbmlId KaxTimecodeScale_TheId (0x2AD7B1, 3);
-EbmlId KaxDuration_TheId (0x4489, 2);
-EbmlId KaxDateUTC_TheId (0x4461, 2);
-EbmlId KaxTitle_TheId (0x7BA9, 2);
+const EbmlSemantic KaxChapterLink_ContextList[2] =
+{
+ EbmlSemantic(true, true, KaxChapterLinkCodec::ClassInfos),
+ EbmlSemantic(true, true, KaxChapterLinkID::ClassInfos),
+};
+EbmlId KaxSegmentUID_TheId (0x73A4, 2);
+EbmlId KaxSegmentFilename_TheId (0x7384, 2);
+EbmlId KaxPrevUID_TheId (0x3CB923, 3);
+EbmlId KaxPrevFilename_TheId (0x3C83AB, 3);
+EbmlId KaxNextUID_TheId (0x3EB923, 3);
+EbmlId KaxNextFilename_TheId (0x3E83BB, 3);
+EbmlId KaxSegmentFilename_TheId (0x7384, 2);
+EbmlId KaxSegmentFamily_TheId (0x7373, 2);
+EbmlId KaxChapterLink_TheId (0x6924, 2);
+EbmlId KaxChapterLinkCodec_TheId(0x69BF, 2);
+EbmlId KaxChapterLinkID_TheId (0x69A5, 2);
+EbmlId KaxTimecodeScale_TheId (0x2AD7B1, 3);
+EbmlId KaxSegmentFilename_TheId (0x7384, 2);
+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 KaxChapterLink_Context = EbmlSemanticContext(countof(KaxChapterLink_ContextList), KaxChapterLink_ContextList, &KaxInfo_Context, *GetKaxGlobal_Context, &KaxChapterLink::ClassInfos);
+const EbmlSemanticContext KaxChapterLinkCodec_Context = EbmlSemanticContext(0, NULL, &KaxChapterLink_Context, *GetKaxGlobal_Context, &KaxChapterLinkCodec::ClassInfos);
+const EbmlSemanticContext KaxChapterLinkID_Context = EbmlSemanticContext(0, NULL, &KaxChapterLink_Context, *GetKaxGlobal_Context, &KaxChapterLinkID::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);
@@ -67,9 +83,17 @@
const EbmlCallbacks KaxPrevFilename::ClassInfos(KaxPrevFilename::Create, KaxPrevFilename_TheId, "PrevFilename", KaxPrevFilename_Context);
const EbmlCallbacks KaxNextUID::ClassInfos(KaxNextUID::Create, KaxNextUID_TheId, "NextUID", KaxNextUID_Context);
const EbmlCallbacks KaxNextFilename::ClassInfos(KaxNextFilename::Create, KaxNextFilename_TheId, "NextFilename", KaxNextFilename_Context);
+const EbmlCallbacks KaxSegmentFamily::ClassInfos(KaxSegmentFamily::Create, KaxSegmentFamily_TheId, "SegmentFamily", KaxSegmentFamily_Context);
+const EbmlCallbacks KaxChapterLink::ClassInfos(KaxChapterLink::Create, KaxChapterLink_TheId, "ChapterLink", KaxChapterLink_Context);
+const EbmlCallbacks KaxChapterLinkCodec::ClassInfos(KaxChapterLinkCodec::Create, KaxChapterLinkCodec_TheId, "ChapterLinkCodec", KaxChapterLinkCodec_Context);
+const EbmlCallbacks KaxChapterLinkID::ClassInfos(KaxChapterLinkID::Create, KaxChapterLinkID_TheId, "ChapterLinkID", KaxChapterLinkID_Context);
const EbmlCallbacks KaxTimecodeScale::ClassInfos(KaxTimecodeScale::Create, KaxTimecodeScale_TheId, "TimecodeScale", KaxTimecodeScale_Context);
const EbmlCallbacks KaxDuration::ClassInfos(KaxDuration::Create, KaxDuration_TheId, "Duration", KaxDuration_Context);
const EbmlCallbacks KaxDateUTC::ClassInfos(KaxDateUTC::Create, KaxDateUTC_TheId, "DateUTC", KaxDateUTC_Context);
const EbmlCallbacks KaxTitle::ClassInfos(KaxTitle::Create, KaxTitle_TheId, "Title", KaxTitle_Context);
+KaxChapterLink::KaxChapterLink()
+ :EbmlMaster(KaxChapterLink_Context)
+{}
+
END_LIBMATROSKA_NAMESPACE