public:
KaxAttached();
KaxAttached(const KaxAttached & ElementToClone) : EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxAttached);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
-
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool IsYourId(const EbmlId & TestId) const;
- EbmlElement * Clone() const {return new KaxAttached(*this);}
+
+ EBML_CONCRETE_CLASS(KaxAttached)
};
class MATROSKA_DLL_API KaxFileDescription : public EbmlUnicodeString {
public:
KaxFileDescription() {}
KaxFileDescription(const KaxFileDescription & ElementToClone) : EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxFileDescription);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
-
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool IsYourId(const EbmlId & TestId) const;
- EbmlElement * Clone() const {return new KaxFileDescription(*this);}
+
+ EBML_CONCRETE_CLASS(KaxFileDescription)
};
class MATROSKA_DLL_API KaxFileName : public EbmlUnicodeString {
public:
KaxFileName() {}
KaxFileName(const KaxFileName & ElementToClone) : EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxFileName);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
-
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool IsYourId(const EbmlId & TestId) const;
- EbmlElement * Clone() const {return new KaxFileName(*this);}
+
+ EBML_CONCRETE_CLASS(KaxFileName)
};
class MATROSKA_DLL_API KaxMimeType : public EbmlString {
public:
KaxMimeType() {}
KaxMimeType(const KaxMimeType & ElementToClone) : EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxMimeType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
-
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool IsYourId(const EbmlId & TestId) const;
- EbmlElement * Clone() const {return new KaxMimeType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxMimeType)
};
class MATROSKA_DLL_API KaxFileData : public EbmlBinary {
public:
KaxFileData() {}
KaxFileData(const KaxFileData & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxFileData);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
+
bool ValidateSize() const {return true;} // we don't mind about what's inside
- static const EbmlCallbacks ClassInfos;
-
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool IsYourId(const EbmlId & TestId) const;
- EbmlElement * Clone() const {return new KaxFileData(*this);}
+
+ EBML_CONCRETE_CLASS(KaxFileData)
};
class MATROSKA_DLL_API KaxFileReferral : public EbmlBinary {
public:
KaxFileReferral() {}
KaxFileReferral(const KaxFileReferral & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxFileReferral);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxFileReferral(*this);}
+
+ EBML_CONCRETE_CLASS(KaxFileReferral)
};
class MATROSKA_DLL_API KaxFileUID : public EbmlUInteger {
public:
KaxFileUID() {}
KaxFileUID(const KaxFileUID & ElementToClone) : EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxFileUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
-
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool IsYourId(const EbmlId & TestId) const;
- EbmlElement * Clone() const {return new KaxFileUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxFileUID)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxAttachments();
KaxAttachments(const KaxAttachments & ElementToClone) : EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxAttachments);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxAttachments(*this);}
+
+ EBML_CONCRETE_CLASS(KaxAttachments)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxBlockGroup();
KaxBlockGroup(const KaxBlockGroup & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxBlockGroup);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxBlockGroup(*this);}
~KaxBlockGroup();
protected:
KaxCluster * ParentCluster;
const KaxTrackEntry * ParentTrack;
+
+ EBML_CONCRETE_CLASS(KaxBlockGroup)
};
class KaxInternalBlock : public EbmlBinary {
class MATROSKA_DLL_API KaxBlock : public KaxInternalBlock {
public:
KaxBlock() :KaxInternalBlock(false) {}
- static EbmlElement & Create() {return *(new KaxBlock);}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- EbmlElement * Clone() const {return new KaxBlock(*this);}
+
+ EBML_CONCRETE_CLASS(KaxBlock)
};
#if MATROSKA_VERSION >= 2
class MATROSKA_DLL_API KaxSimpleBlock : public KaxInternalBlock {
public:
KaxSimpleBlock() :KaxInternalBlock(true) {}
- static EbmlElement & Create() {return *(new KaxSimpleBlock);}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- EbmlElement * Clone() const {return new KaxSimpleBlock(*this);}
void SetKeyframe(bool b_keyframe) { bIsKeyframe = b_keyframe; }
void SetDiscardable(bool b_discard) { bIsDiscardable = b_discard; }
bool IsDiscardable() const { return bIsDiscardable; }
operator KaxInternalBlock &() { return *this; }
+
+ EBML_CONCRETE_CLASS(KaxSimpleBlock)
};
#endif // MATROSKA_VERSION
public:
KaxBlockDuration() {}
KaxBlockDuration(const KaxBlockDuration & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxBlockDuration);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxBlockDuration(*this);}
+
+ EBML_CONCRETE_CLASS(KaxBlockDuration)
};
#if MATROSKA_VERSION >= 2
public:
KaxBlockVirtual() :ParentCluster(NULL) {SetBuffer(DataBlock,sizeof(DataBlock)); SetValueIsSet(false);}
KaxBlockVirtual(const KaxBlockVirtual & ElementToClone);
- static EbmlElement & Create() {return *(new KaxBlockVirtual);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
bool ValidateSize() const {return true;}
/*!
void SetParent(const KaxCluster & aParentCluster) {ParentCluster = &aParentCluster;}
- EbmlElement * Clone() const {return new KaxBlockVirtual(*this);}
-
protected:
uint64 Timecode; // temporary timecode of the first frame if there are more than one
uint16 TrackNumber;
binary DataBlock[5];
const KaxCluster * ParentCluster;
+
+ EBML_CONCRETE_CLASS(KaxBlockVirtual)
};
#endif // MATROSKA_VERSION
public:
KaxBlockAdditional() {}
KaxBlockAdditional(const KaxBlockAdditional & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxBlockAdditional);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool ValidateSize() const {return true;}
+ bool ValidateSize() const {return true;}
- EbmlElement * Clone() const {return new KaxBlockAdditional(*this);}
+ EBML_CONCRETE_CLASS(KaxBlockAdditional)
};
class MATROSKA_DLL_API KaxBlockAdditions : public EbmlMaster {
public:
KaxBlockAdditions();
KaxBlockAdditions(const KaxBlockAdditions & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxBlockAdditions);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxBlockAdditions(*this);}
+
+ EBML_CONCRETE_CLASS(KaxBlockAdditions)
};
class MATROSKA_DLL_API KaxBlockMore : public EbmlMaster {
public:
KaxBlockMore();
KaxBlockMore(const KaxBlockMore & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxBlockMore);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxBlockMore(*this);}
+
+ EBML_CONCRETE_CLASS(KaxBlockMore)
};
class MATROSKA_DLL_API KaxBlockAddID : public EbmlUInteger {
public:
KaxBlockAddID() :EbmlUInteger(1) {}
KaxBlockAddID(const KaxBlockAddID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxBlockAddID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxBlockAddID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxBlockAddID)
};
class MATROSKA_DLL_API KaxCodecState : public EbmlBinary {
public:
KaxCodecState() {}
KaxCodecState(const KaxCodecState & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxCodecState);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- bool ValidateSize() const {return true;}
- EbmlElement * Clone() const {return new KaxCodecState(*this);}
+ bool ValidateSize() const {return true;}
+
+ EBML_CONCRETE_CLASS(KaxCodecState)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxReferencePriority() :EbmlUInteger(0) {}
KaxReferencePriority(const KaxReferencePriority & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxReferencePriority);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxReferencePriority(*this);}
+
+ EBML_CONCRETE_CLASS(KaxReferencePriority)
};
/*!
public:
KaxReferenceBlock() :RefdBlock(NULL), ParentBlock(NULL) {bTimecodeSet = false;}
KaxReferenceBlock(const KaxReferenceBlock & ElementToClone) :EbmlSInteger(ElementToClone), bTimecodeSet(ElementToClone.bTimecodeSet) {}
- static EbmlElement & Create() {return *(new KaxReferenceBlock);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxReferenceBlock(*this);}
/*!
\brief override this method to compute the timecode value
const KaxBlockGroup * ParentBlock;
void SetReferencedTimecode(int64 refTimecode) {*static_cast<EbmlSInteger*>(this) = refTimecode; bTimecodeSet = true;};
bool bTimecodeSet;
+
+ EBML_CONCRETE_CLASS(KaxReferenceBlock)
};
#if MATROSKA_VERSION >= 2
public:
KaxReferenceVirtual() {}
KaxReferenceVirtual(const KaxReferenceVirtual & ElementToClone) :EbmlSInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxReferenceVirtual);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxReferenceVirtual(*this);}
+
+ EBML_CONCRETE_CLASS(KaxReferenceVirtual)
};
#endif // MATROSKA_VERSION
public:
KaxTimeSlice();
KaxTimeSlice(const KaxTimeSlice & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTimeSlice);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTimeSlice(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTimeSlice)
};
class MATROSKA_DLL_API KaxSlices : public EbmlMaster {
public:
KaxSlices();
KaxSlices(const KaxSlices & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSlices);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSlices(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSlices)
};
class MATROSKA_DLL_API KaxSliceLaceNumber : public EbmlUInteger {
public:
KaxSliceLaceNumber() :EbmlUInteger(0) {}
KaxSliceLaceNumber(const KaxSliceLaceNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSliceLaceNumber);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSliceLaceNumber(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSliceLaceNumber)
};
class MATROSKA_DLL_API KaxSliceFrameNumber : public EbmlUInteger {
public:
KaxSliceFrameNumber() :EbmlUInteger(0) {}
KaxSliceFrameNumber(const KaxSliceFrameNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSliceFrameNumber);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSliceFrameNumber(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSliceFrameNumber)
};
class MATROSKA_DLL_API KaxSliceBlockAddID : public EbmlUInteger {
public:
KaxSliceBlockAddID() :EbmlUInteger(0) {}
KaxSliceBlockAddID(const KaxSliceBlockAddID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSliceBlockAddID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSliceBlockAddID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSliceBlockAddID)
};
class MATROSKA_DLL_API KaxSliceDelay : public EbmlUInteger {
public:
KaxSliceDelay() :EbmlUInteger(0) {}
KaxSliceDelay(const KaxSliceDelay & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSliceDelay);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSliceDelay(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSliceDelay)
};
class MATROSKA_DLL_API KaxSliceDuration : public EbmlUInteger {
public:
KaxSliceDuration() {}
KaxSliceDuration(const KaxSliceDuration & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSliceDuration);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSliceDuration(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSliceDuration)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxChapters();
KaxChapters(const KaxChapters & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapters);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapters(*this);}
+
+ EBML_CONCRETE_CLASS(KaxChapters)
};
class MATROSKA_DLL_API KaxEditionEntry : public EbmlMaster {
public:
KaxEditionEntry();
KaxEditionEntry(const KaxEditionEntry & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxEditionEntry);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxEditionEntry(*this);}
+
+ EBML_CONCRETE_CLASS(KaxEditionEntry)
};
class MATROSKA_DLL_API KaxEditionUID : public EbmlUInteger {
-public:
- KaxEditionUID() {}
- KaxEditionUID(const KaxEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxEditionUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxEditionUID(*this);}
+ public:
+ KaxEditionUID() {}
+ KaxEditionUID(const KaxEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxEditionUID)
};
class MATROSKA_DLL_API KaxEditionFlagHidden : public EbmlUInteger {
-public:
- KaxEditionFlagHidden(): EbmlUInteger(0) {}
- KaxEditionFlagHidden(const KaxEditionFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxEditionFlagHidden);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxEditionFlagHidden(*this);}
+ public:
+ KaxEditionFlagHidden(): EbmlUInteger(0) {}
+ KaxEditionFlagHidden(const KaxEditionFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxEditionFlagHidden)
};
class MATROSKA_DLL_API KaxEditionFlagDefault : public EbmlUInteger {
-public:
- KaxEditionFlagDefault(): EbmlUInteger(0) {}
- KaxEditionFlagDefault(const KaxEditionFlagDefault & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxEditionFlagDefault);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxEditionFlagDefault(*this);}
+ public:
+ KaxEditionFlagDefault(): EbmlUInteger(0) {}
+ KaxEditionFlagDefault(const KaxEditionFlagDefault & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxEditionFlagDefault)
};
class MATROSKA_DLL_API KaxEditionFlagOrdered : public EbmlUInteger {
-public:
- KaxEditionFlagOrdered(): EbmlUInteger(0) {}
- KaxEditionFlagOrdered(const KaxEditionFlagOrdered & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxEditionFlagOrdered);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxEditionFlagOrdered(*this);}
+ public:
+ KaxEditionFlagOrdered(): EbmlUInteger(0) {}
+ KaxEditionFlagOrdered(const KaxEditionFlagOrdered & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxEditionFlagOrdered)
};
class MATROSKA_DLL_API KaxChapterAtom : public EbmlMaster {
-public:
- KaxChapterAtom();
- KaxChapterAtom(const KaxChapterAtom & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterAtom);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterAtom(*this);}
+ public:
+ KaxChapterAtom();
+ KaxChapterAtom(const KaxChapterAtom & ElementToClone) :EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterAtom)
};
class MATROSKA_DLL_API KaxChapterUID : public EbmlUInteger {
-public:
- KaxChapterUID() {}
- KaxChapterUID(const KaxChapterUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterUID(*this);}
+ public:
+ KaxChapterUID() {}
+ KaxChapterUID(const KaxChapterUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterUID)
};
class MATROSKA_DLL_API KaxChapterTimeStart : public EbmlUInteger {
-public:
- KaxChapterTimeStart() {}
- KaxChapterTimeStart(const KaxChapterTimeStart & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterTimeStart);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTimeStart(*this);}
+ public:
+ KaxChapterTimeStart() {}
+ KaxChapterTimeStart(const KaxChapterTimeStart & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterTimeStart)
};
class MATROSKA_DLL_API KaxChapterTimeEnd : public EbmlUInteger {
-public:
- KaxChapterTimeEnd() {}
- KaxChapterTimeEnd(const KaxChapterTimeEnd & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterTimeEnd);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTimeEnd(*this);}
+ public:
+ KaxChapterTimeEnd() {}
+ KaxChapterTimeEnd(const KaxChapterTimeEnd & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterTimeEnd)
};
class MATROSKA_DLL_API KaxChapterFlagHidden : public EbmlUInteger {
-public:
- KaxChapterFlagHidden(): EbmlUInteger(0) {}
- KaxChapterFlagHidden(const KaxChapterFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterFlagHidden);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterFlagHidden(*this);}
+ public:
+ KaxChapterFlagHidden(): EbmlUInteger(0) {}
+ KaxChapterFlagHidden(const KaxChapterFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterFlagHidden)
};
class MATROSKA_DLL_API KaxChapterFlagEnabled : public EbmlUInteger {
-public:
- KaxChapterFlagEnabled(): EbmlUInteger(1) {}
- KaxChapterFlagEnabled(const KaxChapterFlagEnabled & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterFlagEnabled);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterFlagEnabled(*this);}
+ public:
+ KaxChapterFlagEnabled(): EbmlUInteger(1) {}
+ KaxChapterFlagEnabled(const KaxChapterFlagEnabled & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterFlagEnabled)
};
class MATROSKA_DLL_API KaxChapterSegmentUID : public EbmlBinary {
-public:
- KaxChapterSegmentUID() {}
- KaxChapterSegmentUID(const KaxChapterSegmentUID & ElementToClone) :EbmlBinary(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterSegmentUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterSegmentUID(*this);}
- bool ValidateSize() const { return (Size == 16);}
+ public:
+ KaxChapterSegmentUID() {}
+ KaxChapterSegmentUID(const KaxChapterSegmentUID & ElementToClone) :EbmlBinary(ElementToClone) {}
+ bool ValidateSize() const { return (GetSize() == 16);}
+
+ EBML_CONCRETE_CLASS(KaxChapterSegmentUID)
};
class MATROSKA_DLL_API KaxChapterSegmentEditionUID : public EbmlBinary {
-public:
- KaxChapterSegmentEditionUID() {}
- KaxChapterSegmentEditionUID(const KaxChapterSegmentEditionUID & ElementToClone) :EbmlBinary(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterSegmentEditionUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterSegmentEditionUID(*this);}
- bool ValidateSize() const { return (Size == 16);}
+ public:
+ KaxChapterSegmentEditionUID() {}
+ KaxChapterSegmentEditionUID(const KaxChapterSegmentEditionUID & ElementToClone) :EbmlBinary(ElementToClone) {}
+ bool ValidateSize() const { return (GetSize() == 16);}
+
+ EBML_CONCRETE_CLASS(KaxChapterSegmentEditionUID)
};
class MATROSKA_DLL_API KaxChapterPhysicalEquiv : public EbmlUInteger {
-public:
- KaxChapterPhysicalEquiv(): EbmlUInteger() {}
- KaxChapterPhysicalEquiv(const KaxChapterPhysicalEquiv & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterPhysicalEquiv);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterPhysicalEquiv(*this);}
+ public:
+ KaxChapterPhysicalEquiv(): EbmlUInteger() {}
+ KaxChapterPhysicalEquiv(const KaxChapterPhysicalEquiv & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterPhysicalEquiv)
};
class MATROSKA_DLL_API KaxChapterTrack : public EbmlMaster {
-public:
- KaxChapterTrack();
- KaxChapterTrack(const KaxChapterTrack & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterTrack);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTrack(*this);}
+ public:
+ KaxChapterTrack();
+ KaxChapterTrack(const KaxChapterTrack & ElementToClone) :EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterTrack)
};
class MATROSKA_DLL_API KaxChapterTrackNumber : public EbmlUInteger {
-public:
- KaxChapterTrackNumber() {}
- KaxChapterTrackNumber(const KaxChapterTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterTrackNumber);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTrackNumber(*this);}
+ public:
+ KaxChapterTrackNumber() {}
+ KaxChapterTrackNumber(const KaxChapterTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterTrackNumber)
};
class MATROSKA_DLL_API KaxChapterDisplay : public EbmlMaster {
-public:
- KaxChapterDisplay();
- KaxChapterDisplay(const KaxChapterDisplay & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterDisplay);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterDisplay(*this);}
+ public:
+ KaxChapterDisplay();
+ KaxChapterDisplay(const KaxChapterDisplay & ElementToClone) :EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterDisplay)
};
class MATROSKA_DLL_API KaxChapterString : public EbmlUnicodeString {
-public:
- KaxChapterString() {}
- KaxChapterString(const KaxChapterString & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterString);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterString(*this);}
+ public:
+ KaxChapterString() {}
+ KaxChapterString(const KaxChapterString & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterString)
};
class MATROSKA_DLL_API KaxChapterLanguage : public EbmlString {
-public:
- KaxChapterLanguage() :EbmlString("eng") {}
- KaxChapterLanguage(const KaxChapterLanguage & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterLanguage);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterLanguage(*this);}
+ public:
+ KaxChapterLanguage() :EbmlString("eng") {}
+ KaxChapterLanguage(const KaxChapterLanguage & ElementToClone) :EbmlString(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterLanguage)
};
class MATROSKA_DLL_API KaxChapterCountry : public EbmlString {
-public:
- KaxChapterCountry() :EbmlString() {}
- KaxChapterCountry(const KaxChapterCountry & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterCountry);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterCountry(*this);}
+ public:
+ KaxChapterCountry() :EbmlString() {}
+ KaxChapterCountry(const KaxChapterCountry & ElementToClone) :EbmlString(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterCountry)
};
class MATROSKA_DLL_API KaxChapterProcess : public EbmlMaster {
-public:
- KaxChapterProcess();
- KaxChapterProcess(const KaxChapterProcess & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterProcess);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterProcess(*this);}
+ public:
+ KaxChapterProcess();
+ KaxChapterProcess(const KaxChapterProcess & ElementToClone) :EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterProcess)
};
class MATROSKA_DLL_API KaxChapterProcessCodecID : public EbmlUInteger {
-public:
- KaxChapterProcessCodecID() :EbmlUInteger(0) {}
- KaxChapterProcessCodecID(const KaxChapterProcessCodecID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterProcessCodecID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterProcessCodecID(*this);}
+ public:
+ KaxChapterProcessCodecID() :EbmlUInteger(0) {}
+ KaxChapterProcessCodecID(const KaxChapterProcessCodecID & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterProcessCodecID)
};
class MATROSKA_DLL_API KaxChapterProcessPrivate : public EbmlBinary {
-public:
- KaxChapterProcessPrivate() {}
- KaxChapterProcessPrivate(const KaxChapterProcessPrivate & ElementToClone) :EbmlBinary(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterProcessPrivate);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterProcessPrivate(*this);}
- bool ValidateSize() const {return true;}
+ public:
+ KaxChapterProcessPrivate() {}
+ KaxChapterProcessPrivate(const KaxChapterProcessPrivate & ElementToClone) :EbmlBinary(ElementToClone) {}
+ bool ValidateSize() const {return true;}
+
+ EBML_CONCRETE_CLASS(KaxChapterProcessPrivate)
};
class MATROSKA_DLL_API KaxChapterProcessCommand : public EbmlMaster {
-public:
- KaxChapterProcessCommand();
- KaxChapterProcessCommand(const KaxChapterProcessCommand & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterProcessCommand);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterProcessCommand(*this);}
+ public:
+ KaxChapterProcessCommand();
+ KaxChapterProcessCommand(const KaxChapterProcessCommand & ElementToClone) :EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterProcessCommand)
};
class MATROSKA_DLL_API KaxChapterProcessTime : public EbmlUInteger {
-public:
- KaxChapterProcessTime() {}
- KaxChapterProcessTime(const KaxChapterProcessTime & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterProcessTime);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterProcessTime(*this);}
+ public:
+ KaxChapterProcessTime() {}
+ KaxChapterProcessTime(const KaxChapterProcessTime & ElementToClone) :EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxChapterProcessTime)
};
class MATROSKA_DLL_API KaxChapterProcessData : public EbmlBinary {
-public:
- KaxChapterProcessData() {}
- KaxChapterProcessData(const KaxChapterProcessData & ElementToClone) :EbmlBinary(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterProcessData);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterProcessData(*this);}
- bool ValidateSize() const {return true;}
+ public:
+ KaxChapterProcessData() {}
+ KaxChapterProcessData(const KaxChapterProcessData & ElementToClone) :EbmlBinary(ElementToClone) {}
+ bool ValidateSize() const {return true;}
+
+ EBML_CONCRETE_CLASS(KaxChapterProcessData)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxCluster();
KaxCluster(const KaxCluster & ElementToClone);
- static EbmlElement & Create() {return *(new KaxCluster);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCluster(*this);}
/*!
\brief Addition of a frame without references
*/
bool AddFrameInternal(const KaxTrackEntry & track, uint64 timecode, DataBuffer & buffer, KaxBlockGroup * & MyNewBlock, const KaxBlockGroup * PastBlock, const KaxBlockGroup * ForwBlock, LacingType lacing);
+ EBML_CONCRETE_CLASS(KaxCluster)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxClusterTimecode() {}
KaxClusterTimecode(const KaxClusterTimecode & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxClusterTimecode);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxClusterTimecode(*this);}
+
+ EBML_CONCRETE_CLASS(KaxClusterTimecode)
};
class MATROSKA_DLL_API KaxClusterSilentTracks : public EbmlMaster {
public:
KaxClusterSilentTracks();
KaxClusterSilentTracks(const KaxClusterSilentTracks & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxClusterSilentTracks);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxClusterSilentTracks(*this);}
+
+ EBML_CONCRETE_CLASS(KaxClusterSilentTracks)
};
class MATROSKA_DLL_API KaxClusterSilentTrackNumber : public EbmlUInteger {
public:
KaxClusterSilentTrackNumber() {}
KaxClusterSilentTrackNumber(const KaxClusterSilentTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxClusterSilentTrackNumber);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxClusterSilentTrackNumber(*this);}
+
+ EBML_CONCRETE_CLASS(KaxClusterSilentTrackNumber)
};
class MATROSKA_DLL_API KaxClusterPosition : public EbmlUInteger {
public:
KaxClusterPosition() {}
KaxClusterPosition(const KaxClusterPosition & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxClusterPosition);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxClusterPosition(*this);}
+
+ EBML_CONCRETE_CLASS(KaxClusterPosition)
};
class MATROSKA_DLL_API KaxClusterPrevSize : public EbmlUInteger {
public:
KaxClusterPrevSize() {}
KaxClusterPrevSize(const KaxClusterPrevSize & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxClusterPrevSize);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxClusterPrevSize(*this);}
+
+ EBML_CONCRETE_CLASS(KaxClusterPrevSize)
};
END_LIBMATROSKA_NAMESPACE
START_LIBMATROSKA_NAMESPACE
class MATROSKA_DLL_API KaxContentEncodings: public EbmlMaster {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncodings();
- KaxContentEncodings(const KaxContentEncodings &ElementToClone):
- EbmlMaster(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncodings); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncodings(*this); }
+ public:
+ KaxContentEncodings();
+ KaxContentEncodings(const KaxContentEncodings &ElementToClone):
+ EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentEncodings)
};
class MATROSKA_DLL_API KaxContentEncoding: public EbmlMaster {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncoding();
- KaxContentEncoding(const KaxContentEncoding &ElementToClone):
- EbmlMaster(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncoding); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncoding(*this); }
+ public:
+ KaxContentEncoding();
+ KaxContentEncoding(const KaxContentEncoding &ElementToClone):
+ EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentEncoding)
};
class MATROSKA_DLL_API KaxContentEncodingOrder: public EbmlUInteger {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncodingOrder(): EbmlUInteger(0) {}
- KaxContentEncodingOrder(const KaxContentEncodingOrder &ElementToClone):
- EbmlUInteger(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncodingOrder); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncodingOrder(*this); }
+ public:
+ KaxContentEncodingOrder(): EbmlUInteger(0) {}
+ KaxContentEncodingOrder(const KaxContentEncodingOrder &ElementToClone):
+ EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentEncodingOrder)
};
class MATROSKA_DLL_API KaxContentEncodingScope: public EbmlUInteger {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncodingScope(): EbmlUInteger(1) {}
- KaxContentEncodingScope(const KaxContentEncodingScope &ElementToClone):
- EbmlUInteger(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncodingScope); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncodingScope(*this); }
+ public:
+ KaxContentEncodingScope(): EbmlUInteger(1) {}
+ KaxContentEncodingScope(const KaxContentEncodingScope &ElementToClone):
+ EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentEncodingScope)
};
class MATROSKA_DLL_API KaxContentEncodingType: public EbmlUInteger {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncodingType(): EbmlUInteger(0) {}
- KaxContentEncodingType(const KaxContentEncodingType &ElementToClone):
- EbmlUInteger(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncodingType); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncodingType(*this); }
+ public:
+ KaxContentEncodingType(): EbmlUInteger(0) {}
+ KaxContentEncodingType(const KaxContentEncodingType &ElementToClone):
+ EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentEncodingType)
};
class MATROSKA_DLL_API KaxContentCompression: public EbmlMaster {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentCompression();
- KaxContentCompression(const KaxContentCompression &ElementToClone):
- EbmlMaster(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentCompression); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentCompression(*this); }
+ public:
+ KaxContentCompression();
+ KaxContentCompression(const KaxContentCompression &ElementToClone):
+ EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentCompression)
};
class MATROSKA_DLL_API KaxContentCompAlgo: public EbmlUInteger {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentCompAlgo(): EbmlUInteger(0) {}
- KaxContentCompAlgo(const KaxContentCompAlgo &ElementToClone):
- EbmlUInteger(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentCompAlgo); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentCompAlgo(*this); }
+ public:
+ KaxContentCompAlgo(): EbmlUInteger(0) {}
+ KaxContentCompAlgo(const KaxContentCompAlgo &ElementToClone):
+ EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentCompAlgo)
};
class MATROSKA_DLL_API KaxContentCompSettings: public EbmlBinary {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentCompSettings() {}
- KaxContentCompSettings(const KaxContentCompSettings &ElementToClone):
- EbmlBinary(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentCompSettings); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const {
- return new KaxContentCompSettings(*this);
- }
- bool ValidateSize(void) const { return true; }
+ public:
+ KaxContentCompSettings() {}
+ KaxContentCompSettings(const KaxContentCompSettings &ElementToClone):
+ EbmlBinary(ElementToClone) {}
+ bool ValidateSize(void) const { return true; }
+
+ EBML_CONCRETE_CLASS(KaxContentCompSettings)
};
class MATROSKA_DLL_API KaxContentEncryption: public EbmlMaster {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncryption();
- KaxContentEncryption(const KaxContentEncryption &ElementToClone):
- EbmlMaster(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncryption); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncryption(*this); }
+ public:
+ KaxContentEncryption();
+ KaxContentEncryption(const KaxContentEncryption &ElementToClone):
+ EbmlMaster(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentEncryption)
};
class MATROSKA_DLL_API KaxContentEncAlgo: public EbmlUInteger {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncAlgo(): EbmlUInteger(0) {}
- KaxContentEncAlgo(const KaxContentEncAlgo &ElementToClone):
- EbmlUInteger(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncAlgo); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncAlgo(*this); }
+ public:
+ KaxContentEncAlgo(): EbmlUInteger(0) {}
+ KaxContentEncAlgo(const KaxContentEncAlgo &ElementToClone):
+ EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentEncAlgo)
};
class MATROSKA_DLL_API KaxContentEncKeyID: public EbmlBinary {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentEncKeyID() {}
- KaxContentEncKeyID(const KaxContentEncKeyID &ElementToClone):
- EbmlBinary(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentEncKeyID); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentEncKeyID(*this); }
- bool ValidateSize(void) const { return true; }
+ public:
+ KaxContentEncKeyID() {}
+ KaxContentEncKeyID(const KaxContentEncKeyID &ElementToClone):
+ EbmlBinary(ElementToClone) {}
+ bool ValidateSize(void) const { return true; }
+
+ EBML_CONCRETE_CLASS(KaxContentEncKeyID)
};
class MATROSKA_DLL_API KaxContentSignature: public EbmlBinary {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentSignature() {}
- KaxContentSignature(const KaxContentSignature &ElementToClone):
- EbmlBinary(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentSignature); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentSignature(*this); }
- bool ValidateSize(void) const { return true; }
+ public:
+ KaxContentSignature() {}
+ KaxContentSignature(const KaxContentSignature &ElementToClone):
+ EbmlBinary(ElementToClone) {}
+ bool ValidateSize(void) const { return true; }
+
+ EBML_CONCRETE_CLASS(KaxContentSignature)
};
class MATROSKA_DLL_API KaxContentSigKeyID: public EbmlBinary {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentSigKeyID() {}
- KaxContentSigKeyID(const KaxContentSigKeyID &ElementToClone):
- EbmlBinary(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentSigKeyID); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentSigKeyID(*this); }
- bool ValidateSize(void) const { return true; }
+ public:
+ KaxContentSigKeyID() {}
+ KaxContentSigKeyID(const KaxContentSigKeyID &ElementToClone):
+ EbmlBinary(ElementToClone) {}
+ bool ValidateSize(void) const { return true; }
+
+ EBML_CONCRETE_CLASS(KaxContentSigKeyID)
};
class MATROSKA_DLL_API KaxContentSigAlgo: public EbmlUInteger {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentSigAlgo() {}
- KaxContentSigAlgo(const KaxContentSigAlgo &ElementToClone):
- EbmlUInteger(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentSigAlgo); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentSigAlgo(*this); }
+ public:
+ KaxContentSigAlgo() {}
+ KaxContentSigAlgo(const KaxContentSigAlgo &ElementToClone):
+ EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentSigAlgo)
};
class MATROSKA_DLL_API KaxContentSigHashAlgo: public EbmlUInteger {
-public:
- static const EbmlCallbacks ClassInfos;
-
- KaxContentSigHashAlgo() {}
- KaxContentSigHashAlgo(const KaxContentSigHashAlgo &ElementToClone):
- EbmlUInteger(ElementToClone) {}
- static EbmlElement &Create() { return *(new KaxContentSigHashAlgo); }
- const EbmlCallbacks &Generic() const { return ClassInfos; }
- operator const EbmlId &() const { return ClassInfos.GlobalId; }
- EbmlElement *Clone() const { return new KaxContentSigHashAlgo(*this); }
+ public:
+ KaxContentSigHashAlgo() {}
+ KaxContentSigHashAlgo(const KaxContentSigHashAlgo &ElementToClone):
+ EbmlUInteger(ElementToClone) {}
+
+ EBML_CONCRETE_CLASS(KaxContentSigHashAlgo)
};
END_LIBMATROSKA_NAMESPACE
KaxCues();
KaxCues(const KaxCues & ElementToClone) :EbmlMaster(ElementToClone) {}
~KaxCues();
- static EbmlElement & Create() {return *(new KaxCues);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCues(*this);}
bool AddBlockGroup(const KaxBlockGroup & BlockReference);
bool AddBlockBlob(const KaxBlockBlob & BlockReference);
std::vector<const KaxBlockBlob *> myTempReferences;
bool bGlobalTimecodeScaleIsSet;
uint64 mGlobalTimecodeScale;
+
+ EBML_CONCRETE_CLASS(KaxCues)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxCuePoint();
KaxCuePoint(const KaxCuePoint & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCuePoint);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCuePoint(*this);}
void PositionSet(const KaxBlockGroup & BlockReference, uint64 GlobalTimecodeScale);
void PositionSet(const KaxBlockBlob & BlobReference, uint64 GlobalTimecodeScale);
const KaxCueTrackPositions * GetSeekPosition() const;
bool Timecode(uint64 & aTimecode, uint64 GlobalTimecodeScale) const;
+
+ EBML_CONCRETE_CLASS(KaxCuePoint)
};
class MATROSKA_DLL_API KaxCueTime : public EbmlUInteger {
public:
KaxCueTime() {}
KaxCueTime(const KaxCueTime & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueTime);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueTime(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueTime)
};
class MATROSKA_DLL_API KaxCueTrackPositions : public EbmlMaster {
public:
KaxCueTrackPositions();
KaxCueTrackPositions(const KaxCueTrackPositions & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueTrackPositions);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueTrackPositions(*this);}
uint64 ClusterPosition() const;
uint16 TrackNumber() const;
+
+ EBML_CONCRETE_CLASS(KaxCueTrackPositions)
};
class MATROSKA_DLL_API KaxCueTrack : public EbmlUInteger {
public:
KaxCueTrack() {}
KaxCueTrack(const KaxCueTrack & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueTrack);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueTrack(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueTrack)
};
class MATROSKA_DLL_API KaxCueClusterPosition : public EbmlUInteger {
public:
KaxCueClusterPosition() {}
KaxCueClusterPosition(const KaxCueClusterPosition & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueClusterPosition);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueClusterPosition(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueClusterPosition)
};
class MATROSKA_DLL_API KaxCueBlockNumber : public EbmlUInteger {
public:
KaxCueBlockNumber() :EbmlUInteger(1) {}
KaxCueBlockNumber(const KaxCueBlockNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueBlockNumber);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueBlockNumber(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueBlockNumber)
};
#if MATROSKA_VERSION >= 2
public:
KaxCueCodecState() :EbmlUInteger(0) {}
KaxCueCodecState(const KaxCueCodecState & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueCodecState);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueCodecState(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueCodecState)
};
class MATROSKA_DLL_API KaxCueReference : public EbmlMaster {
public:
KaxCueReference();
KaxCueReference(const KaxCueReference & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueReference);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueReference(*this);}
void AddReference(const KaxBlockGroup & BlockReferenced, uint64 GlobalTimecodeScale);
void AddReference(const KaxBlockBlob & BlockReferenced, uint64 GlobalTimecodeScale);
+
+ EBML_CONCRETE_CLASS(KaxCueReference)
};
class MATROSKA_DLL_API KaxCueRefTime : public EbmlUInteger {
public:
KaxCueRefTime() {}
KaxCueRefTime(const KaxCueRefTime & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueRefTime);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueRefTime(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueRefTime)
};
class MATROSKA_DLL_API KaxCueRefCluster : public EbmlUInteger {
public:
KaxCueRefCluster() {}
KaxCueRefCluster(const KaxCueRefCluster & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueRefCluster);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueRefCluster(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueRefCluster)
};
class MATROSKA_DLL_API KaxCueRefNumber : public EbmlUInteger {
public:
KaxCueRefNumber() :EbmlUInteger(1) {}
KaxCueRefNumber(const KaxCueRefNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueRefNumber);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueRefNumber(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueRefNumber)
};
class MATROSKA_DLL_API KaxCueRefCodecState : public EbmlUInteger {
public:
KaxCueRefCodecState() :EbmlUInteger(0) {}
KaxCueRefCodecState(const KaxCueRefCodecState & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCueRefCodecState);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCueRefCodecState(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCueRefCodecState)
};
#endif // MATROSKA_VERSION
public:
KaxInfo();
KaxInfo(const KaxInfo & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxInfo);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxInfo(*this);}
+
+ EBML_CONCRETE_CLASS(KaxInfo)
};
class MATROSKA_DLL_API KaxMuxingApp : public EbmlUnicodeString {
public:
KaxMuxingApp() {}
KaxMuxingApp(const KaxMuxingApp & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxMuxingApp);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxMuxingApp(*this);}
+
+ EBML_CONCRETE_CLASS(KaxMuxingApp)
};
class MATROSKA_DLL_API KaxWritingApp : public EbmlUnicodeString {
public:
KaxWritingApp() {}
KaxWritingApp(const KaxWritingApp & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxWritingApp);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxWritingApp(*this);}
+
+ EBML_CONCRETE_CLASS(KaxWritingApp)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxSegmentUID() {}
KaxSegmentUID(const KaxSegmentUID & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxSegmentUID);}
bool ValidateSize() const { return (GetSize() == 16);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSegmentUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSegmentUID)
};
class MATROSKA_DLL_API KaxSegmentFilename : public EbmlUnicodeString {
public:
KaxSegmentFilename() {}
KaxSegmentFilename(const KaxSegmentFilename & ElementToClone) :EbmlUnicodeString(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxSegmentFilename);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSegmentFilename(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSegmentFilename)
};
class MATROSKA_DLL_API KaxPrevUID : public KaxSegmentUID {
public:
KaxPrevUID() {}
KaxPrevUID(const KaxPrevUID & ElementToClone) :KaxSegmentUID(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxPrevUID);}
bool ValidateSize() const { return (GetSize() == 16);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxPrevUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxPrevUID)
};
class MATROSKA_DLL_API KaxPrevFilename : public EbmlUnicodeString {
public:
KaxPrevFilename() :EbmlUnicodeString() {}
KaxPrevFilename(const KaxPrevFilename & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxPrevFilename);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxPrevFilename(*this);}
+
+ EBML_CONCRETE_CLASS(KaxPrevFilename)
};
class MATROSKA_DLL_API KaxNextUID : public KaxSegmentUID {
public:
KaxNextUID() {}
KaxNextUID(const KaxNextUID & ElementToClone) :KaxSegmentUID(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxNextUID);}
bool ValidateSize() const { return (GetSize() == 16);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxNextUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxNextUID)
};
class MATROSKA_DLL_API KaxNextFilename : public EbmlUnicodeString {
public:
KaxNextFilename() {}
KaxNextFilename(const KaxNextFilename & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxNextFilename);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxNextFilename(*this);}
+
+ EBML_CONCRETE_CLASS(KaxNextFilename)
};
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 (GetSize() == 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);}
+
+ EBML_CONCRETE_CLASS(KaxSegmentFamily)
};
class MATROSKA_DLL_API KaxChapterTranslate : public EbmlMaster {
public:
KaxChapterTranslate();
KaxChapterTranslate(const KaxChapterTranslate & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterTranslate);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTranslate(*this);}
+
+ EBML_CONCRETE_CLASS(KaxChapterTranslate)
};
class MATROSKA_DLL_API KaxChapterTranslateCodec : public EbmlUInteger {
public:
KaxChapterTranslateCodec() {}
KaxChapterTranslateCodec(const KaxChapterTranslateCodec & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterTranslateCodec);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTranslateCodec(*this);}
+
+ EBML_CONCRETE_CLASS(KaxChapterTranslateCodec)
};
class MATROSKA_DLL_API KaxChapterTranslateEditionUID : public EbmlUInteger {
public:
KaxChapterTranslateEditionUID() {}
KaxChapterTranslateEditionUID(const KaxChapterTranslateEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxChapterTranslateEditionUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTranslateEditionUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxChapterTranslateEditionUID)
};
class MATROSKA_DLL_API KaxChapterTranslateID : public EbmlBinary {
public:
KaxChapterTranslateID() {}
KaxChapterTranslateID(const KaxChapterTranslateID & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxChapterTranslateID);}
bool ValidateSize() const { return true;}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxChapterTranslateID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxChapterTranslateID)
};
class MATROSKA_DLL_API KaxTimecodeScale : public EbmlUInteger {
public:
KaxTimecodeScale() :EbmlUInteger(1000000) {}
KaxTimecodeScale(const KaxTimecodeScale & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTimecodeScale);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTimecodeScale(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTimecodeScale)
};
class MATROSKA_DLL_API KaxDuration : public EbmlFloat {
public:
KaxDuration(): EbmlFloat(FLOAT_64) {}
KaxDuration(const KaxDuration & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxDuration);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxDuration(*this);}
+
+ EBML_CONCRETE_CLASS(KaxDuration)
};
class MATROSKA_DLL_API KaxDateUTC : public EbmlDate {
public:
KaxDateUTC() {}
KaxDateUTC(const KaxDateUTC & ElementToClone) :EbmlDate(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxDateUTC);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxDateUTC(*this);}
+
+ EBML_CONCRETE_CLASS(KaxDateUTC)
};
class MATROSKA_DLL_API KaxTitle : public EbmlUnicodeString {
public:
KaxTitle() {}
KaxTitle(const KaxTitle & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTitle);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTitle(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTitle)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxSeekHead();
KaxSeekHead(const KaxSeekHead & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSeekHead);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSeekHead(*this);}
/*!
\brief add an element to index in the Meta Seek data
KaxSeek * FindFirstOf(const EbmlCallbacks & Callbacks) const;
KaxSeek * FindNextOf(const KaxSeek &aPrev) const;
+
+ EBML_CONCRETE_CLASS(KaxSeekHead)
};
class MATROSKA_DLL_API KaxSeek : public EbmlMaster {
public:
KaxSeek();
KaxSeek(const KaxSeek & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSeek);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSeek(*this);}
int64 Location() const;
bool IsEbmlId(const EbmlId & aId) const;
bool IsEbmlId(const KaxSeek & aPoint) const;
+
+ EBML_CONCRETE_CLASS(KaxSeek)
};
class MATROSKA_DLL_API KaxSeekID : public EbmlBinary {
public:
KaxSeekID() {}
KaxSeekID(const KaxSeekID & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxSeekID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
bool ValidateSize() const {return GetSize() <= 4;}
- EbmlElement * Clone() const {return new KaxSeekID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSeekID)
};
class MATROSKA_DLL_API KaxSeekPosition : public EbmlUInteger {
public:
KaxSeekPosition() {}
KaxSeekPosition(const KaxSeekPosition & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxSeekPosition);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSeekPosition(*this);}
+
+ EBML_CONCRETE_CLASS(KaxSeekPosition)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxSegment();
KaxSegment(const KaxSegment & ElementToClone);
- static EbmlElement & Create() {return *(new KaxSegment);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxSegment(*this);}
/*!
\brief give the position of the element in the segment
\brief give the position of the element in the file
*/
uint64 GetGlobalPosition(uint64 aRelativePosition) const;
+
+ EBML_CONCRETE_CLASS(KaxSegment)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxTag();
KaxTag(const KaxTag & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTag);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTag(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTag)
};
class MATROSKA_DLL_API KaxTagTargets : public EbmlMaster {
public:
KaxTagTargets();
KaxTagTargets(const KaxTagTargets & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagTargets);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagTargets(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagTargets)
};
class MATROSKA_DLL_API KaxTagGeneral : public EbmlMaster {
public:
KaxTagGeneral();
KaxTagGeneral(const KaxTagGeneral & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagGeneral);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagGeneral(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagGeneral)
};
class MATROSKA_DLL_API KaxTagGenres : public EbmlMaster {
public:
KaxTagGenres();
KaxTagGenres(const KaxTagGenres & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagGenres);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagGenres(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagGenres)
};
class MATROSKA_DLL_API KaxTagAudioSpecific : public EbmlMaster {
public:
KaxTagAudioSpecific();
KaxTagAudioSpecific(const KaxTagAudioSpecific & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagAudioSpecific);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAudioSpecific(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAudioSpecific)
};
class MATROSKA_DLL_API KaxTagImageSpecific : public EbmlMaster {
public:
KaxTagImageSpecific();
KaxTagImageSpecific(const KaxTagImageSpecific & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagImageSpecific);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagImageSpecific(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagImageSpecific)
};
class MATROSKA_DLL_API KaxTagTargetTypeValue : public EbmlUInteger {
public:
KaxTagTargetTypeValue() :EbmlUInteger(50) {}
KaxTagTargetTypeValue(const KaxTagTargetTypeValue & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagTargetTypeValue);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagTargetTypeValue(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagTargetTypeValue)
};
class MATROSKA_DLL_API KaxTagTargetType : public EbmlString {
public:
KaxTagTargetType() {}
KaxTagTargetType(const KaxTagTargetType & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagTargetType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagTargetType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagTargetType)
};
class MATROSKA_DLL_API KaxTagTrackUID : public EbmlUInteger {
public:
KaxTagTrackUID() :EbmlUInteger(0) {}
KaxTagTrackUID(const KaxTagTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagTrackUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagTrackUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagTrackUID)
};
class MATROSKA_DLL_API KaxTagEditionUID : public EbmlUInteger {
public:
KaxTagEditionUID() :EbmlUInteger(0) {}
KaxTagEditionUID(const KaxTagEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagEditionUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagEditionUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagEditionUID)
};
class MATROSKA_DLL_API KaxTagChapterUID : public EbmlUInteger {
public:
KaxTagChapterUID() :EbmlUInteger(0) {}
KaxTagChapterUID(const KaxTagChapterUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagChapterUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagChapterUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagChapterUID)
};
class MATROSKA_DLL_API KaxTagAttachmentUID : public EbmlUInteger {
public:
KaxTagAttachmentUID() :EbmlUInteger(0) {}
KaxTagAttachmentUID(const KaxTagAttachmentUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagAttachmentUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAttachmentUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAttachmentUID)
};
class MATROSKA_DLL_API KaxTagArchivalLocation : public EbmlUnicodeString {
public:
KaxTagArchivalLocation() {}
KaxTagArchivalLocation(const KaxTagArchivalLocation & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagArchivalLocation);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagArchivalLocation(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagArchivalLocation)
};
class MATROSKA_DLL_API KaxTagAudioEncryption : public EbmlBinary {
public:
KaxTagAudioEncryption() {}
KaxTagAudioEncryption(const KaxTagAudioEncryption & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagAudioEncryption);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAudioEncryption(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAudioEncryption)
};
class MATROSKA_DLL_API KaxTagAudioGain : public EbmlFloat {
public:
KaxTagAudioGain() {}
KaxTagAudioGain(const KaxTagAudioGain & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagAudioGain);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAudioGain(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAudioGain)
};
class MATROSKA_DLL_API KaxTagAudioGenre : public EbmlString {
public:
KaxTagAudioGenre() {}
KaxTagAudioGenre(const KaxTagAudioGenre & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagAudioGenre);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAudioGenre(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAudioGenre)
};
class MATROSKA_DLL_API KaxTagAudioPeak : public EbmlFloat {
public:
KaxTagAudioPeak() {}
KaxTagAudioPeak(const KaxTagAudioPeak & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagAudioPeak);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAudioPeak(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAudioPeak)
};
class MATROSKA_DLL_API KaxTagBibliography : public EbmlUnicodeString {
public:
KaxTagBibliography() {}
KaxTagBibliography(const KaxTagBibliography & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagBibliography);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagBibliography(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagBibliography)
};
class MATROSKA_DLL_API KaxTagBPM : public EbmlFloat {
public:
KaxTagBPM() {}
KaxTagBPM(const KaxTagBPM & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagBPM);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagBPM(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagBPM)
};
class MATROSKA_DLL_API KaxTagCaptureDPI : public EbmlUInteger {
public:
KaxTagCaptureDPI() {}
KaxTagCaptureDPI(const KaxTagCaptureDPI & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagCaptureDPI);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagCaptureDPI(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagCaptureDPI)
};
class MATROSKA_DLL_API KaxTagCaptureLightness : public EbmlBinary {
public:
KaxTagCaptureLightness() {}
KaxTagCaptureLightness(const KaxTagCaptureLightness & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagCaptureLightness);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagCaptureLightness(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagCaptureLightness)
};
class MATROSKA_DLL_API KaxTagCapturePaletteSetting : public EbmlUInteger {
public:
KaxTagCapturePaletteSetting() {}
KaxTagCapturePaletteSetting(const KaxTagCapturePaletteSetting & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagCapturePaletteSetting);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagCapturePaletteSetting(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagCapturePaletteSetting)
};
class MATROSKA_DLL_API KaxTagCaptureSharpness : public EbmlBinary {
public:
KaxTagCaptureSharpness() {}
KaxTagCaptureSharpness(const KaxTagCaptureSharpness & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagCaptureSharpness);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagCaptureSharpness(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagCaptureSharpness)
};
class MATROSKA_DLL_API KaxTagCropped : public EbmlUnicodeString {
public:
KaxTagCropped() {}
KaxTagCropped(const KaxTagCropped & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagCropped);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagCropped(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagCropped)
};
class MATROSKA_DLL_API KaxTagDiscTrack : public EbmlUInteger {
public:
KaxTagDiscTrack() {}
KaxTagDiscTrack(const KaxTagDiscTrack & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagDiscTrack);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagDiscTrack(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagDiscTrack)
};
class MATROSKA_DLL_API KaxTagEncoder : public EbmlUnicodeString {
public:
KaxTagEncoder() {}
KaxTagEncoder(const KaxTagEncoder & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagEncoder);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagEncoder(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagEncoder)
};
class MATROSKA_DLL_API KaxTagEncodeSettings : public EbmlUnicodeString {
public:
KaxTagEncodeSettings() {}
KaxTagEncodeSettings(const KaxTagEncodeSettings & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagEncodeSettings);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagEncodeSettings(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagEncodeSettings)
};
class MATROSKA_DLL_API KaxTagEqualisation : public EbmlBinary {
public:
KaxTagEqualisation() {}
KaxTagEqualisation(const KaxTagEqualisation & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagEqualisation);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagEqualisation(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagEqualisation)
};
class MATROSKA_DLL_API KaxTagFile : public EbmlUnicodeString {
public:
KaxTagFile() {}
KaxTagFile(const KaxTagFile & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagFile);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagFile(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagFile)
};
class MATROSKA_DLL_API KaxTagInitialKey : public EbmlString {
public:
KaxTagInitialKey() {}
KaxTagInitialKey(const KaxTagInitialKey & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagInitialKey);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagInitialKey(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagInitialKey)
};
class MATROSKA_DLL_API KaxTagKeywords : public EbmlUnicodeString {
public:
KaxTagKeywords() {}
KaxTagKeywords(const KaxTagKeywords & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagKeywords);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagKeywords(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagKeywords)
};
class MATROSKA_DLL_API KaxTagLanguage : public EbmlString {
public:
KaxTagLanguage() {}
KaxTagLanguage(const KaxTagLanguage & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagLanguage);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagLanguage(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagLanguage)
};
class MATROSKA_DLL_API KaxTagLength : public EbmlUInteger {
public:
KaxTagLength() {}
KaxTagLength(const KaxTagLength & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagLength);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagLength(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagLength)
};
class MATROSKA_DLL_API KaxTagMood : public EbmlUnicodeString {
public:
KaxTagMood() {}
KaxTagMood(const KaxTagMood & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMood);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMood(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMood)
};
class MATROSKA_DLL_API KaxTagOfficialAudioFileURL : public EbmlString {
public:
KaxTagOfficialAudioFileURL() {}
KaxTagOfficialAudioFileURL(const KaxTagOfficialAudioFileURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagOfficialAudioFileURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagOfficialAudioFileURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagOfficialAudioFileURL)
};
class MATROSKA_DLL_API KaxTagOfficialAudioSourceURL : public EbmlString {
public:
KaxTagOfficialAudioSourceURL() {}
KaxTagOfficialAudioSourceURL(const KaxTagOfficialAudioSourceURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagOfficialAudioSourceURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagOfficialAudioSourceURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagOfficialAudioSourceURL)
};
class MATROSKA_DLL_API KaxTagOriginalDimensions : public EbmlString {
public:
KaxTagOriginalDimensions() {}
KaxTagOriginalDimensions(const KaxTagOriginalDimensions & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagOriginalDimensions);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagOriginalDimensions(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagOriginalDimensions)
};
class MATROSKA_DLL_API KaxTagOriginalMediaType : public EbmlUnicodeString {
public:
KaxTagOriginalMediaType() {}
KaxTagOriginalMediaType(const KaxTagOriginalMediaType & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagOriginalMediaType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagOriginalMediaType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagOriginalMediaType)
};
class MATROSKA_DLL_API KaxTagPlayCounter : public EbmlUInteger {
public:
KaxTagPlayCounter() {}
KaxTagPlayCounter(const KaxTagPlayCounter & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagPlayCounter);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagPlayCounter(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagPlayCounter)
};
class MATROSKA_DLL_API KaxTagPlaylistDelay : public EbmlUInteger {
public:
KaxTagPlaylistDelay() {}
KaxTagPlaylistDelay(const KaxTagPlaylistDelay & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagPlaylistDelay);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagPlaylistDelay(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagPlaylistDelay)
};
class MATROSKA_DLL_API KaxTagPopularimeter : public EbmlSInteger {
public:
KaxTagPopularimeter() {}
KaxTagPopularimeter(const KaxTagPopularimeter & ElementToClone) :EbmlSInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagPopularimeter);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagPopularimeter(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagPopularimeter)
};
class MATROSKA_DLL_API KaxTagProduct : public EbmlUnicodeString {
public:
KaxTagProduct() {}
KaxTagProduct(const KaxTagProduct & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagProduct);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagProduct(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagProduct)
};
class MATROSKA_DLL_API KaxTagRating : public EbmlBinary {
public:
KaxTagRating() {}
KaxTagRating(const KaxTagRating & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagRating);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagRating(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagRating)
};
class MATROSKA_DLL_API KaxTagRecordLocation : public EbmlString {
public:
KaxTagRecordLocation() {}
KaxTagRecordLocation(const KaxTagRecordLocation & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagRecordLocation);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagRecordLocation(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagRecordLocation)
};
class MATROSKA_DLL_API KaxTagSetPart : public EbmlUInteger {
public:
KaxTagSetPart() {}
KaxTagSetPart(const KaxTagSetPart & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagSetPart);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagSetPart(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagSetPart)
};
class MATROSKA_DLL_API KaxTagSource : public EbmlUnicodeString {
public:
KaxTagSource() {}
KaxTagSource(const KaxTagSource & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagSource);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagSource(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagSource)
};
class MATROSKA_DLL_API KaxTagSourceForm : public EbmlUnicodeString {
public:
KaxTagSourceForm() {}
KaxTagSourceForm(const KaxTagSourceForm & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagSourceForm);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagSourceForm(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagSourceForm)
};
class MATROSKA_DLL_API KaxTagSubGenre : public EbmlString {
public:
KaxTagSubGenre() {}
KaxTagSubGenre(const KaxTagSubGenre & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagSubGenre);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagSubGenre(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagSubGenre)
};
class MATROSKA_DLL_API KaxTagSubject : public EbmlUnicodeString {
public:
KaxTagSubject() {}
KaxTagSubject(const KaxTagSubject & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagSubject);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagSubject(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagSubject)
};
class MATROSKA_DLL_API KaxTagUnsynchronisedText : public EbmlUnicodeString {
public:
KaxTagUnsynchronisedText() {}
KaxTagUnsynchronisedText(const KaxTagUnsynchronisedText & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagUnsynchronisedText);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagUnsynchronisedText(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagUnsynchronisedText)
};
class MATROSKA_DLL_API KaxTagUserDefinedURL : public EbmlString {
public:
KaxTagUserDefinedURL() {}
KaxTagUserDefinedURL(const KaxTagUserDefinedURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagUserDefinedURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagUserDefinedURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagUserDefinedURL)
};
class MATROSKA_DLL_API KaxTagVideoGenre : public EbmlBinary {
public:
KaxTagVideoGenre() {}
KaxTagVideoGenre(const KaxTagVideoGenre & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagVideoGenre);}
- bool ValidateSize() const {return (Size >= 2);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagVideoGenre(*this);}
+ bool ValidateSize() const {return (GetSize() >= 2);}
+
+ EBML_CONCRETE_CLASS(KaxTagVideoGenre)
};
class MATROSKA_DLL_API KaxTagSimple : public EbmlMaster {
public:
KaxTagSimple();
KaxTagSimple(const KaxTagSimple & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagSimple);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagSimple(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagSimple)
};
class MATROSKA_DLL_API KaxTagName : public EbmlUnicodeString {
public:
KaxTagName() {}
KaxTagName(const KaxTagName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagName);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagName(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagName)
};
class MATROSKA_DLL_API KaxTagLangue : public EbmlString {
public:
KaxTagLangue(): EbmlString("und") {}
KaxTagLangue(const KaxTagLangue & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagLangue);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagLangue(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagLangue)
};
class MATROSKA_DLL_API KaxTagDefault : public EbmlUInteger {
public:
KaxTagDefault() :EbmlUInteger(1) {}
KaxTagDefault(const KaxTagTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagDefault);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagDefault(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagDefault)
};
class MATROSKA_DLL_API KaxTagString : public EbmlUnicodeString {
public:
KaxTagString() {}
KaxTagString(const KaxTagString & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagString);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagString(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagString)
};
class MATROSKA_DLL_API KaxTagBinary : public EbmlBinary {
public:
KaxTagBinary() {}
KaxTagBinary(const KaxTagBinary & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagBinary);}
bool ValidateSize() const {return true;} // {return (GetSize() >= 0);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagBinary(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagBinary)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxTagMultiComment();
KaxTagMultiComment(const KaxTagMultiComment & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiComment);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiComment(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiComment)
};
class MATROSKA_DLL_API KaxTagMultiCommentName : public EbmlString {
public:
KaxTagMultiCommentName() {}
KaxTagMultiCommentName(const KaxTagMultiCommentName & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommentName);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommentName(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommentName)
};
class MATROSKA_DLL_API KaxTagMultiCommentComments : public EbmlUnicodeString {
public:
KaxTagMultiCommentComments() {}
KaxTagMultiCommentComments(const KaxTagMultiCommentComments & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommentComments);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommentComments(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommentComments)
};
class MATROSKA_DLL_API KaxTagMultiCommentLanguage : public EbmlString {
public:
KaxTagMultiCommentLanguage() {}
KaxTagMultiCommentLanguage(const KaxTagMultiCommentLanguage & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommentLanguage);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommentLanguage(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommentLanguage)
};
class MATROSKA_DLL_API KaxTagMultiCommercial : public EbmlMaster {
public:
KaxTagMultiCommercial();
KaxTagMultiCommercial(const KaxTagMultiCommercial & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommercial);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommercial(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommercial)
};
class MATROSKA_DLL_API KaxTagCommercial : public EbmlMaster {
public:
KaxTagCommercial();
KaxTagCommercial(const KaxTagCommercial & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagCommercial);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagCommercial(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagCommercial)
};
class MATROSKA_DLL_API KaxTagMultiCommercialType : public EbmlUInteger {
public:
KaxTagMultiCommercialType() {}
KaxTagMultiCommercialType(const KaxTagMultiCommercialType & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommercialType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommercialType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommercialType)
};
class MATROSKA_DLL_API KaxTagMultiCommercialAddress : public EbmlUnicodeString {
public:
KaxTagMultiCommercialAddress() {}
KaxTagMultiCommercialAddress(const KaxTagMultiCommercialAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommercialAddress);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommercialAddress(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommercialAddress)
};
class MATROSKA_DLL_API KaxTagMultiCommercialURL : public EbmlString {
public:
KaxTagMultiCommercialURL() {}
KaxTagMultiCommercialURL(const KaxTagMultiCommercialURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommercialURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommercialURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommercialURL)
};
class MATROSKA_DLL_API KaxTagMultiCommercialEmail : public EbmlString {
public:
KaxTagMultiCommercialEmail() {}
KaxTagMultiCommercialEmail(const KaxTagMultiCommercialEmail & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiCommercialEmail);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiCommercialEmail(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiCommercialEmail)
};
class MATROSKA_DLL_API KaxTagMultiPrice : public EbmlMaster {
public:
KaxTagMultiPrice();
KaxTagMultiPrice(const KaxTagMultiPrice & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiPrice);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiPrice(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiPrice)
};
class MATROSKA_DLL_API KaxTagMultiPriceCurrency : public EbmlString {
public:
KaxTagMultiPriceCurrency() {}
KaxTagMultiPriceCurrency(const KaxTagMultiPriceCurrency & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiPriceCurrency);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiPriceCurrency(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiPriceCurrency)
};
class MATROSKA_DLL_API KaxTagMultiPriceAmount : public EbmlFloat {
public:
KaxTagMultiPriceAmount() :EbmlFloat() {}
KaxTagMultiPriceAmount(const KaxTagMultiPriceAmount & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiPriceAmount);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiPriceAmount(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiPriceAmount)
};
class MATROSKA_DLL_API KaxTagMultiPricePriceDate : public EbmlDate {
public:
KaxTagMultiPricePriceDate() :EbmlDate() {}
KaxTagMultiPricePriceDate(const KaxTagMultiPricePriceDate & ElementToClone) :EbmlDate(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiPricePriceDate);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiPricePriceDate(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiPricePriceDate)
};
class MATROSKA_DLL_API KaxTagMultiDate : public EbmlMaster {
public:
KaxTagMultiDate();
KaxTagMultiDate(const KaxTagMultiDate & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiDate);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiDate(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiDate)
};
class MATROSKA_DLL_API KaxTagDate : public EbmlMaster {
public:
KaxTagDate();
KaxTagDate(const KaxTagDate & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagDate);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagDate(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagDate)
};
class MATROSKA_DLL_API KaxTagMultiDateType : public EbmlUInteger {
public:
KaxTagMultiDateType() {}
KaxTagMultiDateType(const KaxTagMultiDateType & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiDateType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiDateType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiDateType)
};
class MATROSKA_DLL_API KaxTagMultiDateDateBegin : public EbmlDate {
public:
KaxTagMultiDateDateBegin() :EbmlDate() {}
KaxTagMultiDateDateBegin(const KaxTagMultiDateDateBegin & ElementToClone) :EbmlDate(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiDateDateBegin);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiDateDateBegin(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiDateDateBegin)
};
class MATROSKA_DLL_API KaxTagMultiDateDateEnd : public EbmlDate {
public:
KaxTagMultiDateDateEnd() :EbmlDate() {}
KaxTagMultiDateDateEnd(const KaxTagMultiDateDateEnd & ElementToClone) :EbmlDate(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiDateDateEnd);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiDateDateEnd(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiDateDateEnd)
};
class MATROSKA_DLL_API KaxTagMultiEntity : public EbmlMaster {
public:
KaxTagMultiEntity();
KaxTagMultiEntity(const KaxTagMultiEntity & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiEntity);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiEntity(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiEntity)
};
class MATROSKA_DLL_API KaxTagEntity : public EbmlMaster {
public:
KaxTagEntity();
KaxTagEntity(const KaxTagEntity & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagEntity);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagEntity(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagEntity)
};
class MATROSKA_DLL_API KaxTagMultiEntityType : public EbmlUInteger {
public:
KaxTagMultiEntityType() {}
KaxTagMultiEntityType(const KaxTagMultiEntityType & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiEntityType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiEntityType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiEntityType)
};
class MATROSKA_DLL_API KaxTagMultiEntityName : public EbmlUnicodeString {
public:
KaxTagMultiEntityName() {}
KaxTagMultiEntityName(const KaxTagMultiEntityName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiEntityName);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiEntityName(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiEntityName)
};
class MATROSKA_DLL_API KaxTagMultiEntityAddress : public EbmlUnicodeString {
public:
KaxTagMultiEntityAddress() {}
KaxTagMultiEntityAddress(const KaxTagMultiEntityAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiEntityAddress);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiEntityAddress(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiEntityAddress)
};
class MATROSKA_DLL_API KaxTagMultiEntityURL : public EbmlString {
public:
KaxTagMultiEntityURL() {}
KaxTagMultiEntityURL(const KaxTagMultiEntityURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiEntityURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiEntityURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiEntityURL)
};
class MATROSKA_DLL_API KaxTagMultiEntityEmail : public EbmlString {
public:
KaxTagMultiEntityEmail() {}
KaxTagMultiEntityEmail(const KaxTagMultiEntityEmail & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiEntityEmail);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiEntityEmail(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiEntityEmail)
};
class MATROSKA_DLL_API KaxTagMultiIdentifier : public EbmlMaster {
public:
KaxTagMultiIdentifier();
KaxTagMultiIdentifier(const KaxTagMultiIdentifier & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiIdentifier);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiIdentifier(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiIdentifier)
};
class MATROSKA_DLL_API KaxTagIdentifier : public EbmlMaster {
public:
KaxTagIdentifier();
KaxTagIdentifier(const KaxTagIdentifier & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagIdentifier);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagIdentifier(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagIdentifier)
};
class MATROSKA_DLL_API KaxTagMultiIdentifierType : public EbmlUInteger {
public:
KaxTagMultiIdentifierType() {}
KaxTagMultiIdentifierType(const KaxTagMultiIdentifierType & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiIdentifierType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiIdentifierType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiIdentifierType)
};
class MATROSKA_DLL_API KaxTagMultiIdentifierBinary : public EbmlBinary {
public:
KaxTagMultiIdentifierBinary() {}
KaxTagMultiIdentifierBinary(const KaxTagMultiIdentifierBinary & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTagMultiIdentifierBinary);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiIdentifierBinary(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiIdentifierBinary)
};
class MATROSKA_DLL_API KaxTagMultiIdentifierString : public EbmlUnicodeString {
public:
KaxTagMultiIdentifierString() {}
KaxTagMultiIdentifierString(const KaxTagMultiIdentifierString & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiIdentifierString);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiIdentifierString(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiIdentifierString)
};
class MATROSKA_DLL_API KaxTagMultiLegal : public EbmlMaster {
public:
KaxTagMultiLegal();
KaxTagMultiLegal(const KaxTagMultiLegal & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiLegal);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiLegal(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiLegal)
};
class MATROSKA_DLL_API KaxTagLegal : public EbmlMaster {
public:
KaxTagLegal();
KaxTagLegal(const KaxTagLegal & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagLegal);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagLegal(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagLegal)
};
class MATROSKA_DLL_API KaxTagMultiLegalType : public EbmlUInteger {
public:
KaxTagMultiLegalType() {}
KaxTagMultiLegalType(const KaxTagMultiLegalType & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiLegalType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiLegalType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiLegalType)
};
class MATROSKA_DLL_API KaxTagMultiLegalContent : public EbmlUnicodeString {
public:
KaxTagMultiLegalContent() {}
KaxTagMultiLegalContent(const KaxTagMultiLegalContent & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiLegalContent);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiLegalContent(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiLegalContent)
};
class MATROSKA_DLL_API KaxTagMultiLegalURL : public EbmlString {
public:
KaxTagMultiLegalURL() {}
KaxTagMultiLegalURL(const KaxTagMultiLegalURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiLegalURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiLegalURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiLegalURL)
};
class MATROSKA_DLL_API KaxTagMultiLegalAddress : public EbmlUnicodeString {
public:
KaxTagMultiLegalAddress() {}
KaxTagMultiLegalAddress(const KaxTagMultiLegalAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiLegalAddress);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiLegalAddress(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiLegalAddress)
};
class MATROSKA_DLL_API KaxTagMultiTitle : public EbmlMaster {
public:
KaxTagMultiTitle();
KaxTagMultiTitle(const KaxTagMultiTitle & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitle);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitle(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitle)
};
class MATROSKA_DLL_API KaxTagTitle : public EbmlMaster {
public:
KaxTagTitle();
KaxTagTitle(const KaxTagTitle & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagTitle);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagTitle(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagTitle)
};
class MATROSKA_DLL_API KaxTagMultiTitleType : public EbmlUInteger {
public:
KaxTagMultiTitleType() {}
KaxTagMultiTitleType(const KaxTagMultiTitleType & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleType)
};
public:
KaxTagMultiTitleName() {}
KaxTagMultiTitleName(const KaxTagMultiTitleName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleName);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleName(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleName)
};
class MATROSKA_DLL_API KaxTagMultiTitleSubTitle : public EbmlUnicodeString {
public:
KaxTagMultiTitleSubTitle() {}
KaxTagMultiTitleSubTitle(const KaxTagMultiTitleSubTitle & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleSubTitle);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleSubTitle(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleSubTitle)
};
class MATROSKA_DLL_API KaxTagMultiTitleEdition : public EbmlUnicodeString {
public:
KaxTagMultiTitleEdition() {}
KaxTagMultiTitleEdition(const KaxTagMultiTitleEdition & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleEdition);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleEdition(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleEdition)
};
class MATROSKA_DLL_API KaxTagMultiTitleAddress : public EbmlUnicodeString {
public:
KaxTagMultiTitleAddress() {}
KaxTagMultiTitleAddress(const KaxTagMultiTitleAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleAddress);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleAddress(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleAddress)
};
class MATROSKA_DLL_API KaxTagMultiTitleURL : public EbmlString {
public:
KaxTagMultiTitleURL() {}
KaxTagMultiTitleURL(const KaxTagMultiTitleURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleURL)
};
class MATROSKA_DLL_API KaxTagMultiTitleEmail : public EbmlString {
public:
KaxTagMultiTitleEmail() {}
KaxTagMultiTitleEmail(const KaxTagMultiTitleEmail & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleEmail);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleEmail(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleEmail)
};
class MATROSKA_DLL_API KaxTagMultiTitleLanguage : public EbmlString {
public:
KaxTagMultiTitleLanguage() {}
KaxTagMultiTitleLanguage(const KaxTagMultiTitleLanguage & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiTitleLanguage);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiTitleLanguage(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiTitleLanguage)
};
class MATROSKA_DLL_API KaxTagMultiAttachment : public EbmlMaster {
public:
KaxTagMultiAttachment();
KaxTagMultiAttachment(const KaxTagMultiAttachment & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagMultiAttachment);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagMultiAttachment(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagMultiAttachment)
};
class MATROSKA_DLL_API KaxTagAttachment : public EbmlMaster {
public:
KaxTagAttachment();
KaxTagAttachment(const KaxTagAttachment & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagAttachment);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAttachment(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAttachment)
};
class MATROSKA_DLL_API KaxTagAttachmentID : public EbmlUInteger {
public:
KaxTagAttachmentID() {}
KaxTagAttachmentID(const KaxTagAttachmentID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTagAttachmentID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTagAttachmentID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTagAttachmentID)
};
#if 0
class MATROSKA_DLL_API KaxTagBPM : public EbmlFloat {
public:
KaxTagBPM() :EbmlFloat() {}
- static EbmlElement & Create() {return *(new KaxTagBPM);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
+
+ EBML_CONCRETE_CLASS(KaxTagBPM)
};
class MATROSKA_DLL_API KaxTagPopularimeter : public EbmlSInteger {
public:
KaxTagPopularimeter() {}
- static EbmlElement & Create() {return *(new KaxTagPopularimeter);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
+
+ EBML_CONCRETE_CLASS(KaxTagPopularimeter)
};
class MATROSKA_DLL_API KaxTagRating : public EbmlBinary {
public:
KaxTagRating() {}
- static EbmlElement & Create() {return *(new KaxTagRating);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
+
+ EBML_CONCRETE_CLASS(KaxTagRating)
};
class MATROSKA_DLL_API KaxTagSetPart : public EbmlUInteger {
public:
KaxTagSetPart() {}
- static EbmlElement & Create() {return *(new KaxTagSetPart);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
+
+ EBML_CONCRETE_CLASS(KaxTagSetPart)
};
class MATROSKA_DLL_API KaxTagUserDefinedURL : public EbmlString {
public:
KaxTagUserDefinedURL() {}
- static EbmlElement & Create() {return *(new KaxTagUserDefinedURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
+
+ EBML_CONCRETE_CLASS(KaxTagUserDefinedURL)
};
class MATROSKA_DLL_API KaxTagVideoSecondaryGenre : public EbmlBinary {
public:
KaxTagVideoSecondaryGenre() {}
- static EbmlElement & Create() {return *(new KaxTagVideoSecondaryGenre);}
bool ValidateSize() const {return (Size >= 4);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
+
+ EBML_CONCRETE_CLASS(KaxTagVideoSecondaryGenre)
};
class MATROSKA_DLL_API KaxWritingApp : public EbmlUnicodeString {
public:
KaxWritingApp() {}
- static EbmlElement & Create() {return *(new KaxWritingApp);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
+
+ EBML_CONCRETE_CLASS(KaxWritingApp)
};
#endif
public:
KaxTags();
KaxTags(const KaxTags & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTags);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTags(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTags)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxTrackAudio();
KaxTrackAudio(const KaxTrackAudio & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackAudio);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackAudio(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackAudio)
};
class MATROSKA_DLL_API KaxAudioSamplingFreq : public EbmlFloat {
public:
KaxAudioSamplingFreq() :EbmlFloat(8000.0) {}
KaxAudioSamplingFreq(const KaxAudioSamplingFreq & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxAudioSamplingFreq);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxAudioSamplingFreq(*this);}
+
+ EBML_CONCRETE_CLASS(KaxAudioSamplingFreq)
};
class MATROSKA_DLL_API KaxAudioOutputSamplingFreq : public EbmlFloat {
public:
KaxAudioOutputSamplingFreq() :EbmlFloat() {}
KaxAudioOutputSamplingFreq(const KaxAudioOutputSamplingFreq & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxAudioOutputSamplingFreq);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxAudioOutputSamplingFreq(*this);}
+
+ EBML_CONCRETE_CLASS(KaxAudioOutputSamplingFreq)
};
class MATROSKA_DLL_API KaxAudioChannels : public EbmlUInteger {
public:
KaxAudioChannels() :EbmlUInteger(1) {}
KaxAudioChannels(const KaxAudioChannels & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxAudioChannels);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxAudioChannels(*this);}
+
+ EBML_CONCRETE_CLASS(KaxAudioChannels)
};
#if MATROSKA_VERSION >= 2
public:
KaxAudioPosition() {}
KaxAudioPosition(const KaxAudioPosition & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxAudioPosition);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- bool ValidateSize(void) const {return true;}
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxAudioPosition(*this);}
+ bool ValidateSize(void) const {return true;}
+
+ EBML_CONCRETE_CLASS(KaxAudioPosition)
};
#endif // MATROSKA_VERSION
public:
KaxAudioBitDepth() {}
KaxAudioBitDepth(const KaxAudioBitDepth & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxAudioBitDepth);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxAudioBitDepth(*this);}
+
+ EBML_CONCRETE_CLASS(KaxAudioBitDepth)
};
END_LIBMATROSKA_NAMESPACE
public:
KaxTrackNumber() {}
KaxTrackNumber(const KaxTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackNumber);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackNumber(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackNumber)
};
class MATROSKA_DLL_API KaxTrackUID : public EbmlUInteger {
public:
KaxTrackUID() {}
KaxTrackUID(const KaxTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackUID)
};
class MATROSKA_DLL_API KaxTrackType : public EbmlUInteger {
public:
KaxTrackType() {}
KaxTrackType(const KaxTrackType & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackType);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackType(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackType)
};
#if MATROSKA_VERSION >= 2
public:
KaxTrackFlagEnabled() :EbmlUInteger(1) {}
KaxTrackFlagEnabled(const KaxTrackFlagEnabled & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackFlagEnabled);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackFlagEnabled(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackFlagEnabled)
};
#endif // MATROSKA_VERSION
public:
KaxTrackFlagDefault() :EbmlUInteger(1) {}
KaxTrackFlagDefault(const KaxTrackFlagDefault & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackFlagDefault);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackFlagDefault(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackFlagDefault)
};
class MATROSKA_DLL_API KaxTrackFlagForced : public EbmlUInteger {
public:
KaxTrackFlagForced() :EbmlUInteger(0) {}
KaxTrackFlagForced(const KaxTrackFlagForced & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackFlagForced);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackFlagForced(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackFlagForced)
};
class MATROSKA_DLL_API KaxTrackFlagLacing : public EbmlUInteger {
public:
KaxTrackFlagLacing() :EbmlUInteger(1) {}
KaxTrackFlagLacing(const KaxTrackFlagLacing & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackFlagLacing);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackFlagLacing(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackFlagLacing)
};
class MATROSKA_DLL_API KaxTrackMinCache : public EbmlUInteger {
public:
KaxTrackMinCache() :EbmlUInteger(0) {}
KaxTrackMinCache(const KaxTrackMinCache & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackMinCache);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackMinCache(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackMinCache)
};
class MATROSKA_DLL_API KaxTrackMaxCache : public EbmlUInteger {
public:
KaxTrackMaxCache() {}
KaxTrackMaxCache(const KaxTrackMaxCache & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackMaxCache);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackMaxCache(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackMaxCache)
};
class MATROSKA_DLL_API KaxTrackDefaultDuration : public EbmlUInteger {
public:
KaxTrackDefaultDuration() {}
KaxTrackDefaultDuration(const KaxTrackDefaultDuration & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackDefaultDuration);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackDefaultDuration(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackDefaultDuration)
};
class MATROSKA_DLL_API KaxTrackTimecodeScale : public EbmlFloat {
public:
KaxTrackTimecodeScale() :EbmlFloat(1.0) {}
KaxTrackTimecodeScale(const KaxTrackTimecodeScale & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackTimecodeScale);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackTimecodeScale(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackTimecodeScale)
};
class MATROSKA_DLL_API KaxMaxBlockAdditionID : public EbmlUInteger {
public:
KaxMaxBlockAdditionID() :EbmlUInteger(0) {}
KaxMaxBlockAdditionID(const KaxMaxBlockAdditionID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxMaxBlockAdditionID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxMaxBlockAdditionID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxMaxBlockAdditionID)
};
class MATROSKA_DLL_API KaxTrackName : public EbmlUnicodeString {
public:
KaxTrackName() {}
KaxTrackName(const KaxTrackName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackName);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackName(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackName)
};
class MATROSKA_DLL_API KaxTrackLanguage : public EbmlString {
public:
KaxTrackLanguage() :EbmlString("eng") {}
KaxTrackLanguage(const KaxTrackLanguage & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackLanguage);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackLanguage(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackLanguage)
};
class MATROSKA_DLL_API KaxCodecID : public EbmlString {
public:
KaxCodecID() {}
KaxCodecID(const KaxCodecID & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCodecID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCodecID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCodecID)
};
class MATROSKA_DLL_API KaxCodecPrivate : public EbmlBinary {
public:
KaxCodecPrivate() {}
KaxCodecPrivate(const KaxCodecPrivate & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxCodecPrivate);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCodecPrivate(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCodecPrivate)
};
class MATROSKA_DLL_API KaxCodecName : public EbmlUnicodeString {
public:
KaxCodecName() {}
KaxCodecName(const KaxCodecName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCodecName);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCodecName(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCodecName)
};
class MATROSKA_DLL_API KaxTrackAttachmentLink : public EbmlBinary {
public:
KaxTrackAttachmentLink() {}
KaxTrackAttachmentLink(const KaxTrackAttachmentLink & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTrackAttachmentLink);}
bool ValidateSize() const {return true;} // we don't mind about what's inside
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackAttachmentLink(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackAttachmentLink)
};
class MATROSKA_DLL_API KaxTrackOverlay : public EbmlUInteger {
public:
KaxTrackOverlay() {}
KaxTrackOverlay(const KaxTrackOverlay & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackOverlay);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackOverlay(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackOverlay)
};
class MATROSKA_DLL_API KaxTrackTranslate : public EbmlMaster {
public:
KaxTrackTranslate();
KaxTrackTranslate(const KaxTrackTranslate & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackTranslate);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackTranslate(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackTranslate)
};
class MATROSKA_DLL_API KaxTrackTranslateCodec : public EbmlUInteger {
public:
KaxTrackTranslateCodec() {}
KaxTrackTranslateCodec(const KaxTrackTranslateCodec & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackTranslateCodec);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackTranslateCodec(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackTranslateCodec)
};
class MATROSKA_DLL_API KaxTrackTranslateEditionUID : public EbmlUInteger {
public:
KaxTrackTranslateEditionUID() {}
KaxTrackTranslateEditionUID(const KaxTrackTranslateEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackTranslateEditionUID);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackTranslateEditionUID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackTranslateEditionUID)
};
class MATROSKA_DLL_API KaxTrackTranslateTrackID : public EbmlBinary {
public:
KaxTrackTranslateTrackID() {}
KaxTrackTranslateTrackID(const KaxTrackTranslateTrackID & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxTrackTranslateTrackID);}
bool ValidateSize() const { return true;}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackTranslateTrackID(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackTranslateTrackID)
};
#if MATROSKA_VERSION >= 2
public:
KaxCodecSettings() {}
KaxCodecSettings(const KaxCodecSettings & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCodecSettings);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCodecSettings(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCodecSettings)
};
class MATROSKA_DLL_API KaxCodecInfoURL : public EbmlString {
public:
KaxCodecInfoURL() {}
KaxCodecInfoURL(const KaxCodecInfoURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCodecInfoURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCodecInfoURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCodecInfoURL)
};
class MATROSKA_DLL_API KaxCodecDownloadURL : public EbmlString {
public:
KaxCodecDownloadURL() {}
KaxCodecDownloadURL(const KaxCodecDownloadURL & ElementToClone) :EbmlString(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCodecDownloadURL);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCodecDownloadURL(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCodecDownloadURL)
};
class MATROSKA_DLL_API KaxCodecDecodeAll : public EbmlUInteger {
public:
KaxCodecDecodeAll() :EbmlUInteger(1) {}
KaxCodecDecodeAll(const KaxCodecDecodeAll & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxCodecDecodeAll);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxCodecDecodeAll(*this);}
+
+ EBML_CONCRETE_CLASS(KaxCodecDecodeAll)
};
#endif // MATROSKA_VERSION
public:
KaxTrackVideo();
KaxTrackVideo(const KaxTrackVideo & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackVideo);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackVideo(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTrackVideo)
};
#if MATROSKA_VERSION >= 2
public:
KaxVideoFlagInterlaced() :EbmlUInteger(0) {}
KaxVideoFlagInterlaced(const KaxVideoFlagInterlaced & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoFlagInterlaced);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoFlagInterlaced(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoFlagInterlaced)
};
class MATROSKA_DLL_API KaxVideoStereoMode : public EbmlUInteger {
public:
KaxVideoStereoMode() :EbmlUInteger(0) {}
KaxVideoStereoMode(const KaxVideoStereoMode & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoStereoMode);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoStereoMode(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoStereoMode)
};
#endif // MATROSKA_VERSION
public:
KaxVideoPixelWidth() {}
KaxVideoPixelWidth(const KaxVideoPixelWidth & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoPixelWidth);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoPixelWidth(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoPixelWidth)
};
class MATROSKA_DLL_API KaxVideoPixelHeight : public EbmlUInteger {
public:
KaxVideoPixelHeight() {}
KaxVideoPixelHeight(const KaxVideoPixelHeight & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoPixelHeight);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoPixelHeight(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoPixelHeight)
};
class MATROSKA_DLL_API KaxVideoPixelCropBottom : public EbmlUInteger {
public:
KaxVideoPixelCropBottom(): EbmlUInteger(0) {}
KaxVideoPixelCropBottom(const KaxVideoPixelCropBottom & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoPixelCropBottom);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoPixelCropBottom(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoPixelCropBottom)
};
class MATROSKA_DLL_API KaxVideoPixelCropTop : public EbmlUInteger {
public:
KaxVideoPixelCropTop(): EbmlUInteger(0) {}
KaxVideoPixelCropTop(const KaxVideoPixelCropTop & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoPixelCropTop);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoPixelCropTop(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoPixelCropTop)
};
class MATROSKA_DLL_API KaxVideoPixelCropLeft : public EbmlUInteger {
public:
KaxVideoPixelCropLeft(): EbmlUInteger(0) {}
KaxVideoPixelCropLeft(const KaxVideoPixelCropLeft & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoPixelCropLeft);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoPixelCropLeft(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoPixelCropLeft)
};
class MATROSKA_DLL_API KaxVideoPixelCropRight : public EbmlUInteger {
public:
KaxVideoPixelCropRight(): EbmlUInteger(0) {}
KaxVideoPixelCropRight(const KaxVideoPixelCropRight & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoPixelCropRight);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoPixelCropRight(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoPixelCropRight)
};
class MATROSKA_DLL_API KaxVideoDisplayWidth : public EbmlUInteger {
public:
KaxVideoDisplayWidth() {}
KaxVideoDisplayWidth(const KaxVideoDisplayWidth & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoDisplayWidth);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoDisplayWidth(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoDisplayWidth)
};
class MATROSKA_DLL_API KaxVideoDisplayHeight : public EbmlUInteger {
public:
KaxVideoDisplayHeight() {}
KaxVideoDisplayHeight(const KaxVideoDisplayHeight & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoDisplayHeight);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoDisplayHeight(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoDisplayHeight)
};
#if MATROSKA_VERSION >= 2
public:
KaxVideoDisplayUnit() {}
KaxVideoDisplayUnit(const KaxVideoDisplayUnit & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoDisplayUnit);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoDisplayUnit(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoDisplayUnit)
};
class MATROSKA_DLL_API KaxVideoAspectRatio : public EbmlUInteger {
public:
KaxVideoAspectRatio() {}
KaxVideoAspectRatio(const KaxVideoAspectRatio & ElementToClone) :EbmlUInteger(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoAspectRatio);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoAspectRatio(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoAspectRatio)
};
#endif // MATROSKA_VERSION
public:
KaxVideoColourSpace() {}
KaxVideoColourSpace(const KaxVideoColourSpace & ElementToClone) :EbmlBinary(ElementToClone){}
- static EbmlElement & Create() {return *(new KaxVideoColourSpace);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
bool ValidateSize(void) const {return (GetSize() == 4);}
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoColourSpace(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoColourSpace)
};
#if MATROSKA_VERSION >= 2
public:
KaxVideoGamma() {}
KaxVideoGamma(const KaxVideoGamma & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoGamma);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxVideoGamma(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoGamma)
};
#endif // MATROSKA_VERSION
public:
KaxVideoFrameRate() {}
KaxVideoFrameRate(const KaxVideoFrameRate & ElementToClone) :EbmlFloat(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxVideoFrameRate);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
uint32 RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
- EbmlElement * Clone() const {return new KaxVideoFrameRate(*this);}
+
+ EBML_CONCRETE_CLASS(KaxVideoFrameRate)
};
public:
KaxTracks();
KaxTracks(const KaxTracks & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTracks);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTracks(*this);}
+
+ EBML_CONCRETE_CLASS(KaxTracks)
};
class MATROSKA_DLL_API KaxTrackEntry : public EbmlMaster {
public:
KaxTrackEntry();
KaxTrackEntry(const KaxTrackEntry & ElementToClone) :EbmlMaster(ElementToClone) {}
- static EbmlElement & Create() {return *(new KaxTrackEntry);}
- const EbmlCallbacks & Generic() const {return ClassInfos;}
- static const EbmlCallbacks ClassInfos;
- operator const EbmlId &() const {return ClassInfos.GlobalId;}
- EbmlElement * Clone() const {return new KaxTrackEntry(*this);}
EbmlUInteger & TrackNumber() const { return *(static_cast<EbmlUInteger *>(FindElt(EBML_INFO(KaxTrackNumber)))); }
protected:
bool bGlobalTimecodeScaleIsSet;
uint64 mGlobalTimecodeScale;
+
+ EBML_CONCRETE_CLASS(KaxTrackEntry)
};
END_LIBMATROSKA_NAMESPACE