From: Steve Lhomme Date: Wed, 7 Apr 2010 09:39:28 +0000 (+0000) Subject: put the default clone constructor in the macros as well X-Git-Tag: release-0.9.0~24 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=42b5431138bddc08a83b178837351eb5667d6263;p=libmatroska put the default clone constructor in the macros as well git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@80 a6f86f6d-0131-4f8e-9e7b-e335508773d5 --- diff --git a/matroska/KaxAttached.h b/matroska/KaxAttached.h index 930313f..8693f23 100644 --- a/matroska/KaxAttached.h +++ b/matroska/KaxAttached.h @@ -48,41 +48,28 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxAttached) - public: - KaxAttached(const KaxAttached & ElementToClone) : EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxFileDescription) - public: - KaxFileDescription(const KaxFileDescription & ElementToClone) : EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxFileName) - public: - KaxFileName(const KaxFileName & ElementToClone) : EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxMimeType) - public: - KaxMimeType(const KaxMimeType & ElementToClone) : EbmlString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxFileData) public: - KaxFileData(const KaxFileData & ElementToClone) :EbmlBinary(ElementToClone){} - bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_BINARY(KaxFileReferral) public: - KaxFileReferral(const KaxFileReferral & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_UINTEGER(KaxFileUID) - public: - KaxFileUID(const KaxFileUID & ElementToClone) : EbmlUInteger(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxAttachments.h b/matroska/KaxAttachments.h index cf53493..35124b0 100644 --- a/matroska/KaxAttachments.h +++ b/matroska/KaxAttachments.h @@ -44,8 +44,6 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxAttachments) - public: - KaxAttachments(const KaxAttachments & ElementToClone) : EbmlMaster(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxBlock.h b/matroska/KaxBlock.h index c61acff..aabf1fd 100644 --- a/matroska/KaxBlock.h +++ b/matroska/KaxBlock.h @@ -125,8 +125,6 @@ class MATROSKA_DLL_API NotSoSimpleDataBuffer : public SimpleDataBuffer { DECLARE_MKX_MASTER(KaxBlockGroup) public: - KaxBlockGroup(const KaxBlockGroup & ElementToClone) :EbmlMaster(ElementToClone) {} - ~KaxBlockGroup(); /*! @@ -343,15 +341,11 @@ protected: }; DECLARE_MKX_UINTEGER(KaxBlockDuration) - public: - KaxBlockDuration(const KaxBlockDuration & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_BINARY_CONS(KaxBlockVirtual) public: - KaxBlockVirtual() :ParentCluster(NULL) {SetBuffer(DataBlock,sizeof(DataBlock)); SetValueIsSet(false);} - KaxBlockVirtual(const KaxBlockVirtual & ElementToClone); ~KaxBlockVirtual(); bool ValidateSize() const {return true;} @@ -373,29 +367,20 @@ DECLARE_MKX_BINARY_CONS(KaxBlockVirtual) DECLARE_MKX_BINARY(KaxBlockAdditional) public: - KaxBlockAdditional(const KaxBlockAdditional & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} }; DECLARE_MKX_MASTER(KaxBlockAdditions) - public: - KaxBlockAdditions(const KaxBlockAdditions & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxBlockMore) - public: - KaxBlockMore(const KaxBlockMore & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxBlockAddID) - public: - KaxBlockAddID(const KaxBlockAddID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxCodecState) public: - KaxCodecState(const KaxCodecState & ElementToClone) :EbmlBinary(ElementToClone){} - bool ValidateSize() const {return true;} }; diff --git a/matroska/KaxBlockData.h b/matroska/KaxBlockData.h index 9b5863e..f201e6f 100644 --- a/matroska/KaxBlockData.h +++ b/matroska/KaxBlockData.h @@ -48,8 +48,6 @@ class KaxBlockGroup; class KaxBlockBlob; DECLARE_MKX_UINTEGER(KaxReferencePriority) - public: - KaxReferencePriority(const KaxReferencePriority & ElementToClone) :EbmlUInteger(ElementToClone) {} }; /*! @@ -57,9 +55,6 @@ DECLARE_MKX_UINTEGER(KaxReferencePriority) */ DECLARE_MKX_SINTEGER_CONS(KaxReferenceBlock) public: - KaxReferenceBlock() :RefdBlock(NULL), ParentBlock(NULL) {bTimecodeSet = false;} - KaxReferenceBlock(const KaxReferenceBlock & ElementToClone) :EbmlSInteger(ElementToClone), bTimecodeSet(ElementToClone.bTimecodeSet) {} - /*! \brief override this method to compute the timecode value */ @@ -79,44 +74,28 @@ DECLARE_MKX_SINTEGER_CONS(KaxReferenceBlock) #if MATROSKA_VERSION >= 2 DECLARE_MKX_SINTEGER(KaxReferenceVirtual) - public: - KaxReferenceVirtual(const KaxReferenceVirtual & ElementToClone) :EbmlSInteger(ElementToClone) {} }; #endif // MATROSKA_VERSION DECLARE_MKX_MASTER(KaxTimeSlice) - public: - KaxTimeSlice(const KaxTimeSlice & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxSlices) - public: - KaxSlices(const KaxSlices & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxSliceLaceNumber) - public: - KaxSliceLaceNumber(const KaxSliceLaceNumber & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxSliceFrameNumber) - public: - KaxSliceFrameNumber(const KaxSliceFrameNumber & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxSliceBlockAddID) - public: - KaxSliceBlockAddID(const KaxSliceBlockAddID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxSliceDelay) - public: - KaxSliceDelay(const KaxSliceDelay & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxSliceDuration) - public: - KaxSliceDuration(const KaxSliceDuration & ElementToClone) :EbmlUInteger(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxChapters.h b/matroska/KaxChapters.h index 50bc384..5e35054 100644 --- a/matroska/KaxChapters.h +++ b/matroska/KaxChapters.h @@ -48,141 +48,91 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxChapters) - public: - KaxChapters(const KaxChapters & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxEditionEntry) - public: - KaxEditionEntry(const KaxEditionEntry & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxEditionUID) - public: - KaxEditionUID(const KaxEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxEditionFlagHidden) - public: - KaxEditionFlagHidden(const KaxEditionFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxEditionFlagDefault) - public: - KaxEditionFlagDefault(const KaxEditionFlagDefault & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxEditionFlagOrdered) - public: - KaxEditionFlagOrdered(const KaxEditionFlagOrdered & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxChapterAtom) - public: - KaxChapterAtom(const KaxChapterAtom & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterUID) - public: - KaxChapterUID(const KaxChapterUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterTimeStart) - public: - KaxChapterTimeStart(const KaxChapterTimeStart & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterTimeEnd) - public: - KaxChapterTimeEnd(const KaxChapterTimeEnd & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterFlagHidden) - public: - KaxChapterFlagHidden(const KaxChapterFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterFlagEnabled) - public: - KaxChapterFlagEnabled(const KaxChapterFlagEnabled & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxChapterSegmentUID) public: - KaxChapterSegmentUID(const KaxChapterSegmentUID & ElementToClone) :EbmlBinary(ElementToClone) {} bool ValidateSize() const { return (GetSize() == 16);} }; DECLARE_MKX_BINARY(KaxChapterSegmentEditionUID) public: - KaxChapterSegmentEditionUID(const KaxChapterSegmentEditionUID & ElementToClone) :EbmlBinary(ElementToClone) {} bool ValidateSize() const { return (GetSize() == 16);} }; DECLARE_MKX_UINTEGER(KaxChapterPhysicalEquiv) - public: - KaxChapterPhysicalEquiv(const KaxChapterPhysicalEquiv & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxChapterTrack) - public: - KaxChapterTrack(const KaxChapterTrack & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterTrackNumber) - public: - KaxChapterTrackNumber(const KaxChapterTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxChapterDisplay) - public: - KaxChapterDisplay(const KaxChapterDisplay & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxChapterString) - public: - KaxChapterString(const KaxChapterString & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxChapterLanguage) - public: - KaxChapterLanguage(const KaxChapterLanguage & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxChapterCountry) - public: - KaxChapterCountry(const KaxChapterCountry & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxChapterProcess) - public: - KaxChapterProcess(const KaxChapterProcess & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterProcessCodecID) - public: - KaxChapterProcessCodecID(const KaxChapterProcessCodecID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxChapterProcessPrivate) public: - KaxChapterProcessPrivate(const KaxChapterProcessPrivate & ElementToClone) :EbmlBinary(ElementToClone) {} bool ValidateSize() const {return true;} }; DECLARE_MKX_MASTER(KaxChapterProcessCommand) - public: - KaxChapterProcessCommand(const KaxChapterProcessCommand & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterProcessTime) - public: - KaxChapterProcessTime(const KaxChapterProcessTime & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxChapterProcessData) public: - KaxChapterProcessData(const KaxChapterProcessData & ElementToClone) :EbmlBinary(ElementToClone) {} bool ValidateSize() const {return true;} }; diff --git a/matroska/KaxCluster.h b/matroska/KaxCluster.h index 04ba947..a8a6766 100644 --- a/matroska/KaxCluster.h +++ b/matroska/KaxCluster.h @@ -49,10 +49,8 @@ START_LIBMATROSKA_NAMESPACE class KaxSegment; -DECLARE_MKX_MASTER(KaxCluster) +DECLARE_MKX_MASTER_CONS(KaxCluster) public: - KaxCluster(const KaxCluster & ElementToClone); - /*! \brief Addition of a frame without references diff --git a/matroska/KaxClusterData.h b/matroska/KaxClusterData.h index 95ad93f..c2cbe3d 100644 --- a/matroska/KaxClusterData.h +++ b/matroska/KaxClusterData.h @@ -45,28 +45,18 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_UINTEGER(KaxClusterTimecode) - public: - KaxClusterTimecode(const KaxClusterTimecode & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxClusterSilentTracks) - public: - KaxClusterSilentTracks(const KaxClusterSilentTracks & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxClusterSilentTrackNumber) - public: - KaxClusterSilentTrackNumber(const KaxClusterSilentTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxClusterPosition) - public: - KaxClusterPosition(const KaxClusterPosition & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxClusterPrevSize) - public: - KaxClusterPrevSize(const KaxClusterPrevSize & ElementToClone) :EbmlUInteger(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxContentEncoding.h b/matroska/KaxContentEncoding.h index be5ae4f..76bbe4f 100644 --- a/matroska/KaxContentEncoding.h +++ b/matroska/KaxContentEncoding.h @@ -46,97 +46,56 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxContentEncodings) - public: - KaxContentEncodings(const KaxContentEncodings &ElementToClone): - EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxContentEncoding) - public: - KaxContentEncoding(const KaxContentEncoding &ElementToClone): - EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxContentEncodingOrder) - public: - KaxContentEncodingOrder(const KaxContentEncodingOrder &ElementToClone): - EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxContentEncodingScope) - public: - KaxContentEncodingScope(const KaxContentEncodingScope &ElementToClone): - EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxContentEncodingType) - public: - KaxContentEncodingType(const KaxContentEncodingType &ElementToClone): - EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxContentCompression) - public: - KaxContentCompression(const KaxContentCompression &ElementToClone): - EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxContentCompAlgo) - public: - KaxContentCompAlgo(const KaxContentCompAlgo &ElementToClone): - EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxContentCompSettings) public: - KaxContentCompSettings(const KaxContentCompSettings &ElementToClone): - EbmlBinary(ElementToClone) {} bool ValidateSize(void) const { return true; } }; DECLARE_MKX_MASTER(KaxContentEncryption) - public: - KaxContentEncryption(const KaxContentEncryption &ElementToClone): - EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxContentEncAlgo) - public: - KaxContentEncAlgo(const KaxContentEncAlgo &ElementToClone): - EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxContentEncKeyID) public: - KaxContentEncKeyID(const KaxContentEncKeyID &ElementToClone): - EbmlBinary(ElementToClone) {} bool ValidateSize(void) const { return true; } }; DECLARE_MKX_BINARY(KaxContentSignature) public: - KaxContentSignature(const KaxContentSignature &ElementToClone): - EbmlBinary(ElementToClone) {} bool ValidateSize(void) const { return true; } }; DECLARE_MKX_BINARY(KaxContentSigKeyID) public: - KaxContentSigKeyID(const KaxContentSigKeyID &ElementToClone): - EbmlBinary(ElementToClone) {} bool ValidateSize(void) const { return true; } }; DECLARE_MKX_UINTEGER(KaxContentSigAlgo) - public: - KaxContentSigAlgo(const KaxContentSigAlgo &ElementToClone): - EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxContentSigHashAlgo) - public: - KaxContentSigHashAlgo(const KaxContentSigHashAlgo &ElementToClone): - EbmlUInteger(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxCues.h b/matroska/KaxCues.h index 4f34f98..d3384b6 100644 --- a/matroska/KaxCues.h +++ b/matroska/KaxCues.h @@ -49,7 +49,6 @@ class KaxCuePoint; DECLARE_MKX_MASTER(KaxCues) public: - KaxCues(const KaxCues & ElementToClone) :EbmlMaster(ElementToClone) {} ~KaxCues(); bool AddBlockGroup(const KaxBlockGroup & BlockReference); diff --git a/matroska/KaxCuesData.h b/matroska/KaxCuesData.h index 268576f..67b6c74 100644 --- a/matroska/KaxCuesData.h +++ b/matroska/KaxCuesData.h @@ -49,7 +49,6 @@ class KaxInternalBlock; DECLARE_MKX_MASTER(KaxCuePoint) public: - KaxCuePoint(const KaxCuePoint & ElementToClone) :EbmlMaster(ElementToClone) {} void PositionSet(const KaxBlockGroup & BlockReference, uint64 GlobalTimecodeScale); void PositionSet(const KaxBlockBlob & BlobReference, uint64 GlobalTimecodeScale); @@ -60,65 +59,43 @@ DECLARE_MKX_MASTER(KaxCuePoint) }; DECLARE_MKX_UINTEGER(KaxCueTime) - public: - KaxCueTime(const KaxCueTime & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxCueTrackPositions) public: - KaxCueTrackPositions(const KaxCueTrackPositions & ElementToClone) :EbmlMaster(ElementToClone) {} - uint64 ClusterPosition() const; uint16 TrackNumber() const; }; DECLARE_MKX_UINTEGER(KaxCueTrack) - public: - KaxCueTrack(const KaxCueTrack & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxCueClusterPosition) - public: - KaxCueClusterPosition(const KaxCueClusterPosition & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxCueBlockNumber) - public: - KaxCueBlockNumber(const KaxCueBlockNumber & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_UINTEGER(KaxCueCodecState) - public: - KaxCueCodecState(const KaxCueCodecState & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxCueReference) public: - KaxCueReference(const KaxCueReference & ElementToClone) :EbmlMaster(ElementToClone) {} - void AddReference(const KaxBlockGroup & BlockReferenced, uint64 GlobalTimecodeScale); void AddReference(const KaxBlockBlob & BlockReferenced, uint64 GlobalTimecodeScale); }; DECLARE_MKX_UINTEGER(KaxCueRefTime) - public: - KaxCueRefTime(const KaxCueRefTime & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxCueRefCluster) - public: - KaxCueRefCluster(const KaxCueRefCluster & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxCueRefNumber) - public: - KaxCueRefNumber(const KaxCueRefNumber & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxCueRefCodecState) - public: - KaxCueRefCodecState(const KaxCueRefCodecState & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #endif // MATROSKA_VERSION diff --git a/matroska/KaxDefines.h b/matroska/KaxDefines.h index 67afc07..ad08559 100644 --- a/matroska/KaxDefines.h +++ b/matroska/KaxDefines.h @@ -62,42 +62,70 @@ #define DECLARE_MKX_MASTER(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlMaster { \ public: x(); \ + x(const x & ElementToClone) :EbmlMaster(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + +#define DECLARE_MKX_MASTER_CONS(x) DECLARE_MKX_CONTEXT(x) \ +class MATROSKA_DLL_API x : public EbmlMaster { \ + public: x(); \ + x(const x & ElementToClone); \ + EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_BINARY(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlBinary { \ public: x(); \ + x(const x & ElementToClone) :EbmlBinary(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_BINARY_CONS(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlBinary { \ + public: x(); \ + x(const x & ElementToClone); \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_UNISTRING(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlUnicodeString { \ public: x(); \ + x(const x & ElementToClone) :EbmlUnicodeString(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_STRING(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlString { \ public: x(); \ + x(const x & ElementToClone) :EbmlString(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_UINTEGER(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlUInteger { \ public: x(); \ + x(const x & ElementToClone) :EbmlUInteger(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_SINTEGER_CONS(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlSInteger { \ + public: x(); \ + x(const x & ElementToClone); \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_SINTEGER(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlSInteger { \ public: x(); \ + x(const x & ElementToClone) :EbmlSInteger(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_DATE(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlDate { \ public: x(); \ + x(const x & ElementToClone) :EbmlDate(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_FLOAT(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlFloat { \ public: x(); \ + x(const x & ElementToClone) :EbmlFloat(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #else #define DEFINE_MKX_CONTEXT(a) DEFINE_xxx_CONTEXT(a,*GetKaxGlobal_Context) #define DEFINE_MKX_MASTER_NOBODY(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,c,d,e,*GetKaxGlobal_Context) @@ -123,41 +151,69 @@ class MATROSKA_DLL_API x : public EbmlMaster { \ #define DECLARE_MKX_MASTER(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlMaster { \ public: x(); \ + x(const x & ElementToClone) :EbmlMaster(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + +#define DECLARE_MKX_MASTER_CONS(x) DECLARE_MKX_CONTEXT(x) \ +class MATROSKA_DLL_API x : public EbmlMaster { \ + public: x(); \ + x(const x & ElementToClone); \ + EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_BINARY(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlBinary { \ public: x(); \ + x(const x & ElementToClone) :EbmlBinary(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_BINARY_CONS(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlBinary { \ + public: x(); \ + x(const x & ElementToClone); \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_UNISTRING(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlUnicodeString { \ public: x(); \ + x(const x & ElementToClone) :EbmlUnicodeString(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_STRING(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlString { \ public: x(); \ + x(const x & ElementToClone) :EbmlString(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_UINTEGER(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlUInteger { \ public: x(); \ + x(const x & ElementToClone) :EbmlUInteger(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_SINTEGER_CONS(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlSInteger { \ + public: x(); \ + x(const x & ElementToClone); \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_SINTEGER(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlSInteger { \ public: x(); \ + x(const x & ElementToClone) :EbmlSInteger(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_DATE(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlDate { \ public: x(); \ + x(const x & ElementToClone) :EbmlDate(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #define DECLARE_MKX_FLOAT(x) DECLARE_MKX_CONTEXT(x) \ class MATROSKA_DLL_API x : public EbmlFloat { \ public: x(); \ + x(const x & ElementToClone) :EbmlFloat(ElementToClone) {} \ EBML_CONCRETE_CLASS(x) + #endif #endif // LIBMATROSKA_DEFINES_H diff --git a/matroska/KaxInfo.h b/matroska/KaxInfo.h index 82611d2..30c7443 100644 --- a/matroska/KaxInfo.h +++ b/matroska/KaxInfo.h @@ -45,18 +45,12 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxInfo) - public: - KaxInfo(const KaxInfo & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxMuxingApp) - public: - KaxMuxingApp(const KaxMuxingApp & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxWritingApp) - public: - KaxWritingApp(const KaxWritingApp & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxInfoData.h b/matroska/KaxInfoData.h index cd1ec3b..0807ba4 100644 --- a/matroska/KaxInfoData.h +++ b/matroska/KaxInfoData.h @@ -52,13 +52,10 @@ START_LIBMATROSKA_NAMESPACE DECLARE_MKX_BINARY(KaxSegmentUID) public: - KaxSegmentUID(const KaxSegmentUID & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const { return (GetSize() == 16);} }; DECLARE_MKX_UNISTRING(KaxSegmentFilename) - public: - KaxSegmentFilename(const KaxSegmentFilename & ElementToClone) :EbmlUnicodeString(ElementToClone){} }; DECLARE_MKX_CONTEXT(KaxPrevUID); @@ -72,8 +69,6 @@ class MATROSKA_DLL_API KaxPrevUID : public KaxSegmentUID { }; DECLARE_MKX_UNISTRING(KaxPrevFilename) - public: - KaxPrevFilename(const KaxPrevFilename & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_CONTEXT(KaxNextUID); @@ -87,55 +82,37 @@ class MATROSKA_DLL_API KaxNextUID : public KaxSegmentUID { }; DECLARE_MKX_UNISTRING(KaxNextFilename) - public: - KaxNextFilename(const KaxNextFilename & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxSegmentFamily) public: - KaxSegmentFamily(const KaxSegmentFamily & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const { return (GetSize() == 16);} }; DECLARE_MKX_MASTER(KaxChapterTranslate) - public: - KaxChapterTranslate(const KaxChapterTranslate & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterTranslateCodec) - public: - KaxChapterTranslateCodec(const KaxChapterTranslateCodec & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxChapterTranslateEditionUID) - public: - KaxChapterTranslateEditionUID(const KaxChapterTranslateEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxChapterTranslateID) public: - KaxChapterTranslateID(const KaxChapterTranslateID & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const { return true;} }; DECLARE_MKX_UINTEGER(KaxTimecodeScale) - public: - KaxTimecodeScale(const KaxTimecodeScale & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_FLOAT(KaxDuration) - public: - KaxDuration(const KaxDuration & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_DATE(KaxDateUTC) - public: - KaxDateUTC(const KaxDateUTC & ElementToClone) :EbmlDate(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTitle) - public: - KaxTitle(const KaxTitle & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxSeekHead.h b/matroska/KaxSeekHead.h index f129493..aca7015 100644 --- a/matroska/KaxSeekHead.h +++ b/matroska/KaxSeekHead.h @@ -50,8 +50,6 @@ class KaxSeek; DECLARE_MKX_MASTER(KaxSeekHead) public: - KaxSeekHead(const KaxSeekHead & ElementToClone) :EbmlMaster(ElementToClone) {} - /*! \brief add an element to index in the Meta Seek data \note the element should already be written in the file @@ -64,8 +62,6 @@ DECLARE_MKX_MASTER(KaxSeekHead) DECLARE_MKX_MASTER(KaxSeek) public: - KaxSeek(const KaxSeek & ElementToClone) :EbmlMaster(ElementToClone) {} - int64 Location() const; bool IsEbmlId(const EbmlId & aId) const; bool IsEbmlId(const KaxSeek & aPoint) const; @@ -73,13 +69,10 @@ DECLARE_MKX_MASTER(KaxSeek) DECLARE_MKX_BINARY(KaxSeekID) public: - KaxSeekID(const KaxSeekID & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return GetSize() <= 4;} }; DECLARE_MKX_UINTEGER(KaxSeekPosition) - public: - KaxSeekPosition(const KaxSeekPosition & ElementToClone) :EbmlUInteger(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxSegment.h b/matroska/KaxSegment.h index 3b47625..8eb1995 100644 --- a/matroska/KaxSegment.h +++ b/matroska/KaxSegment.h @@ -43,10 +43,8 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE -DECLARE_MKX_MASTER(KaxSegment) +DECLARE_MKX_MASTER_CONS(KaxSegment) public: - KaxSegment(const KaxSegment & ElementToClone); - /*! \brief give the position of the element in the segment */ diff --git a/matroska/KaxTag.h b/matroska/KaxTag.h index e081024..65f05ec 100644 --- a/matroska/KaxTag.h +++ b/matroska/KaxTag.h @@ -51,299 +51,190 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxTag) - public: - KaxTag(const KaxTag & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagTargets) - public: - KaxTagTargets(const KaxTagTargets & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagGeneral) - public: - KaxTagGeneral(const KaxTagGeneral & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagGenres) - public: - KaxTagGenres(const KaxTagGenres & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagAudioSpecific) - public: - KaxTagAudioSpecific(const KaxTagAudioSpecific & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagImageSpecific) - public: - KaxTagImageSpecific(const KaxTagImageSpecific & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagTargetTypeValue) - public: - KaxTagTargetTypeValue(const KaxTagTargetTypeValue & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagTargetType) - public: - KaxTagTargetType(const KaxTagTargetType & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagTrackUID) - public: - KaxTagTrackUID(const KaxTagTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagEditionUID) - public: - KaxTagEditionUID(const KaxTagEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagChapterUID) - public: - KaxTagChapterUID(const KaxTagChapterUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagAttachmentUID) - public: - KaxTagAttachmentUID(const KaxTagAttachmentUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagArchivalLocation) - public: - KaxTagArchivalLocation(const KaxTagArchivalLocation & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagAudioEncryption) public: - KaxTagAudioEncryption(const KaxTagAudioEncryption & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_FLOAT(KaxTagAudioGain) - public: - KaxTagAudioGain(const KaxTagAudioGain & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagAudioGenre) - public: - KaxTagAudioGenre(const KaxTagAudioGenre & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_FLOAT(KaxTagAudioPeak) - public: - KaxTagAudioPeak(const KaxTagAudioPeak & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagBibliography) - public: - KaxTagBibliography(const KaxTagBibliography & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_FLOAT(KaxTagBPM) - public: - KaxTagBPM(const KaxTagBPM & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagCaptureDPI) - public: - KaxTagCaptureDPI(const KaxTagCaptureDPI & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagCaptureLightness) public: - KaxTagCaptureLightness(const KaxTagCaptureLightness & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_UINTEGER(KaxTagCapturePaletteSetting) - public: - KaxTagCapturePaletteSetting(const KaxTagCapturePaletteSetting & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagCaptureSharpness) public: - KaxTagCaptureSharpness(const KaxTagCaptureSharpness & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_UNISTRING(KaxTagCropped) - public: - KaxTagCropped(const KaxTagCropped & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagDiscTrack) - public: - KaxTagDiscTrack(const KaxTagDiscTrack & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagEncoder) - public: - KaxTagEncoder(const KaxTagEncoder & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagEncodeSettings) - public: - KaxTagEncodeSettings(const KaxTagEncodeSettings & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagEqualisation) public: - KaxTagEqualisation(const KaxTagEqualisation & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_UNISTRING(KaxTagFile) - public: - KaxTagFile(const KaxTagFile & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagInitialKey) - public: - KaxTagInitialKey(const KaxTagInitialKey & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagKeywords) - public: - KaxTagKeywords(const KaxTagKeywords & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagLanguage) - public: - KaxTagLanguage(const KaxTagLanguage & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagLength) - public: - KaxTagLength(const KaxTagLength & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMood) - public: - KaxTagMood(const KaxTagMood & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagOfficialAudioFileURL) - public: - KaxTagOfficialAudioFileURL(const KaxTagOfficialAudioFileURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagOfficialAudioSourceURL) - public: - KaxTagOfficialAudioSourceURL(const KaxTagOfficialAudioSourceURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagOriginalDimensions) - public: - KaxTagOriginalDimensions(const KaxTagOriginalDimensions & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagOriginalMediaType) - public: - KaxTagOriginalMediaType(const KaxTagOriginalMediaType & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagPlayCounter) - public: - KaxTagPlayCounter(const KaxTagPlayCounter & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagPlaylistDelay) - public: - KaxTagPlaylistDelay(const KaxTagPlaylistDelay & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_SINTEGER(KaxTagPopularimeter) - public: - KaxTagPopularimeter(const KaxTagPopularimeter & ElementToClone) :EbmlSInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagProduct) - public: - KaxTagProduct(const KaxTagProduct & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagRating) public: - KaxTagRating(const KaxTagRating & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_STRING(KaxTagRecordLocation) - public: - KaxTagRecordLocation(const KaxTagRecordLocation & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagSetPart) - public: - KaxTagSetPart(const KaxTagSetPart & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagSource) - public: - KaxTagSource(const KaxTagSource & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagSourceForm) - public: - KaxTagSourceForm(const KaxTagSourceForm & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagSubGenre) - public: - KaxTagSubGenre(const KaxTagSubGenre & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagSubject) - public: - KaxTagSubject(const KaxTagSubject & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagUnsynchronisedText) - public: - KaxTagUnsynchronisedText(const KaxTagUnsynchronisedText & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagUserDefinedURL) - public: - KaxTagUserDefinedURL(const KaxTagUserDefinedURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagVideoGenre) public: - KaxTagVideoGenre(const KaxTagVideoGenre & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return (GetSize() >= 2);} }; DECLARE_MKX_MASTER(KaxTagSimple) - public: - KaxTagSimple(const KaxTagSimple & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagName) - public: - KaxTagName(const KaxTagName & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagLangue) - public: - KaxTagLangue(const KaxTagLangue & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagDefault) - public: - KaxTagDefault(const KaxTagTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagString) - public: - KaxTagString(const KaxTagString & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagBinary) public: - KaxTagBinary(const KaxTagBinary & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // {return (GetSize() >= 0);} }; diff --git a/matroska/KaxTagMulti.h b/matroska/KaxTagMulti.h index 7ba332c..673f23d 100644 --- a/matroska/KaxTagMulti.h +++ b/matroska/KaxTagMulti.h @@ -124,279 +124,183 @@ enum KaxTagMultiTitleTypes { }; DECLARE_MKX_MASTER(KaxTagMultiComment) - public: - KaxTagMultiComment(const KaxTagMultiComment & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiCommentName) - public: - KaxTagMultiCommentName(const KaxTagMultiCommentName & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiCommentComments) - public: - KaxTagMultiCommentComments(const KaxTagMultiCommentComments & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiCommentLanguage) - public: - KaxTagMultiCommentLanguage(const KaxTagMultiCommentLanguage & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiCommercial) - public: - KaxTagMultiCommercial(const KaxTagMultiCommercial & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagCommercial) - public: - KaxTagCommercial(const KaxTagCommercial & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagMultiCommercialType) - public: - KaxTagMultiCommercialType(const KaxTagMultiCommercialType & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiCommercialAddress) - public: - KaxTagMultiCommercialAddress(const KaxTagMultiCommercialAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiCommercialURL) - public: - KaxTagMultiCommercialURL(const KaxTagMultiCommercialURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiCommercialEmail) - public: - KaxTagMultiCommercialEmail(const KaxTagMultiCommercialEmail & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiPrice) - public: - KaxTagMultiPrice(const KaxTagMultiPrice & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiPriceCurrency) - public: - KaxTagMultiPriceCurrency(const KaxTagMultiPriceCurrency & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_FLOAT(KaxTagMultiPriceAmount) - public: - KaxTagMultiPriceAmount(const KaxTagMultiPriceAmount & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_DATE(KaxTagMultiPricePriceDate) - public: - KaxTagMultiPricePriceDate(const KaxTagMultiPricePriceDate & ElementToClone) :EbmlDate(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiDate) - public: - KaxTagMultiDate(const KaxTagMultiDate & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagDate) - public: - KaxTagDate(const KaxTagDate & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagMultiDateType) - public: - KaxTagMultiDateType(const KaxTagMultiDateType & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_DATE(KaxTagMultiDateDateBegin) - public: - KaxTagMultiDateDateBegin(const KaxTagMultiDateDateBegin & ElementToClone) :EbmlDate(ElementToClone) {} }; DECLARE_MKX_DATE(KaxTagMultiDateDateEnd) - public: - KaxTagMultiDateDateEnd(const KaxTagMultiDateDateEnd & ElementToClone) :EbmlDate(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiEntity) - public: - KaxTagMultiEntity(const KaxTagMultiEntity & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagEntity) - public: - KaxTagEntity(const KaxTagEntity & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagMultiEntityType) - public: - KaxTagMultiEntityType(const KaxTagMultiEntityType & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiEntityName) - public: - KaxTagMultiEntityName(const KaxTagMultiEntityName & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiEntityAddress) - public: - KaxTagMultiEntityAddress(const KaxTagMultiEntityAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiEntityURL) - public: - KaxTagMultiEntityURL(const KaxTagMultiEntityURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiEntityEmail) - public: - KaxTagMultiEntityEmail(const KaxTagMultiEntityEmail & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiIdentifier) - public: - KaxTagMultiIdentifier(const KaxTagMultiIdentifier & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagIdentifier) - public: - KaxTagIdentifier(const KaxTagIdentifier & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagMultiIdentifierType) - public: - KaxTagMultiIdentifierType(const KaxTagMultiIdentifierType & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTagMultiIdentifierBinary) public: - KaxTagMultiIdentifierBinary(const KaxTagMultiIdentifierBinary & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_UNISTRING(KaxTagMultiIdentifierString) - public: - KaxTagMultiIdentifierString(const KaxTagMultiIdentifierString & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiLegal) - public: - KaxTagMultiLegal(const KaxTagMultiLegal & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagLegal) - public: - KaxTagLegal(const KaxTagLegal & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagMultiLegalType) - public: - KaxTagMultiLegalType(const KaxTagMultiLegalType & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiLegalContent) - public: - KaxTagMultiLegalContent(const KaxTagMultiLegalContent & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiLegalURL) - public: - KaxTagMultiLegalURL(const KaxTagMultiLegalURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiLegalAddress) - public: - KaxTagMultiLegalAddress(const KaxTagMultiLegalAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiTitle) - public: - KaxTagMultiTitle(const KaxTagMultiTitle & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagTitle) - public: - KaxTagTitle(const KaxTagTitle & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagMultiTitleType) - public: - KaxTagMultiTitleType(const KaxTagMultiTitleType & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiTitleName) - public: - KaxTagMultiTitleName(const KaxTagMultiTitleName & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiTitleSubTitle) - public: - KaxTagMultiTitleSubTitle(const KaxTagMultiTitleSubTitle & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiTitleEdition) - public: - KaxTagMultiTitleEdition(const KaxTagMultiTitleEdition & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTagMultiTitleAddress) - public: - KaxTagMultiTitleAddress(const KaxTagMultiTitleAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiTitleURL) - public: - KaxTagMultiTitleURL(const KaxTagMultiTitleURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiTitleEmail) - public: - KaxTagMultiTitleEmail(const KaxTagMultiTitleEmail & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTagMultiTitleLanguage) - public: - KaxTagMultiTitleLanguage(const KaxTagMultiTitleLanguage & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagMultiAttachment) - public: - KaxTagMultiAttachment(const KaxTagMultiAttachment & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTagAttachment) - public: - KaxTagAttachment(const KaxTagAttachment & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTagAttachmentID) - public: - KaxTagAttachmentID(const KaxTagAttachmentID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #if 0 DECLARE_MKX_FLOAT(KaxTagBPM) - public:}; +}; DECLARE_MKX_SINTEGER(KaxTagPopularimeter) - public:}; +}; DECLARE_MKX_BINARY(KaxTagRating) public: bool ValidateSize() const {return true;} // we don't mind about what's inside }; -DECLARE_MKX_UINTEGER(KaxTagSetPart)}; +DECLARE_MKX_UINTEGER(KaxTagSetPart) +}; -DECLARE_MKX_STRING(KaxTagUserDefinedURL)}; +DECLARE_MKX_STRING(KaxTagUserDefinedURL) +}; DECLARE_MKX_BINARY(KaxTagVideoSecondaryGenre) public: - bool ValidateSize() const {return (Size >= 4);} + bool ValidateSize() const {return (Size >= 4); }; -DECLARE_MKX_UNISTRING(KaxWritingApp)}; +DECLARE_MKX_UNISTRING(KaxWritingApp) +}; #endif END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxTags.h b/matroska/KaxTags.h index c4acf88..376b19e 100644 --- a/matroska/KaxTags.h +++ b/matroska/KaxTags.h @@ -44,8 +44,6 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxTags) - public: - KaxTags(const KaxTags & ElementToClone) :EbmlMaster(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxTrackAudio.h b/matroska/KaxTrackAudio.h index 06e04b4..f12ae3e 100644 --- a/matroska/KaxTrackAudio.h +++ b/matroska/KaxTrackAudio.h @@ -47,36 +47,25 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxTrackAudio) - public: - KaxTrackAudio(const KaxTrackAudio & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_FLOAT(KaxAudioSamplingFreq) - public: - KaxAudioSamplingFreq(const KaxAudioSamplingFreq & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_FLOAT(KaxAudioOutputSamplingFreq) - public: - KaxAudioOutputSamplingFreq(const KaxAudioOutputSamplingFreq & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxAudioChannels) - public: - KaxAudioChannels(const KaxAudioChannels & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_BINARY(KaxAudioPosition) public: - KaxAudioPosition(const KaxAudioPosition & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize(void) const {return true;} - }; +}; #endif // MATROSKA_VERSION DECLARE_MKX_UINTEGER(KaxAudioBitDepth) - public: - KaxAudioBitDepth(const KaxAudioBitDepth & ElementToClone) :EbmlUInteger(ElementToClone) {} }; END_LIBMATROSKA_NAMESPACE diff --git a/matroska/KaxTrackEntryData.h b/matroska/KaxTrackEntryData.h index d831564..1f015ea 100644 --- a/matroska/KaxTrackEntryData.h +++ b/matroska/KaxTrackEntryData.h @@ -50,144 +50,93 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_UINTEGER(KaxTrackNumber) - public: - KaxTrackNumber(const KaxTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackUID) - public: - KaxTrackUID(const KaxTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackType) - public: - KaxTrackType(const KaxTrackType & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_UINTEGER(KaxTrackFlagEnabled) - public: - KaxTrackFlagEnabled(const KaxTrackFlagEnabled & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #endif // MATROSKA_VERSION DECLARE_MKX_UINTEGER(KaxTrackFlagDefault) - public: - KaxTrackFlagDefault(const KaxTrackFlagDefault & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackFlagForced) - public: - KaxTrackFlagForced(const KaxTrackFlagForced & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackFlagLacing) - public: - KaxTrackFlagLacing(const KaxTrackFlagLacing & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackMinCache) - public: - KaxTrackMinCache(const KaxTrackMinCache & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackMaxCache) - public: - KaxTrackMaxCache(const KaxTrackMaxCache & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackDefaultDuration) - public: - KaxTrackDefaultDuration(const KaxTrackDefaultDuration & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_FLOAT(KaxTrackTimecodeScale) - public: - KaxTrackTimecodeScale(const KaxTrackTimecodeScale & ElementToClone) :EbmlFloat(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxMaxBlockAdditionID) - public: - KaxMaxBlockAdditionID(const KaxMaxBlockAdditionID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UNISTRING(KaxTrackName) - public: - KaxTrackName(const KaxTrackName & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxTrackLanguage) - public: - KaxTrackLanguage(const KaxTrackLanguage & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxCodecID) - public: - KaxCodecID(const KaxCodecID & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxCodecPrivate) public: - KaxCodecPrivate(const KaxCodecPrivate & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_UNISTRING(KaxCodecName) - public: - KaxCodecName(const KaxCodecName & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTrackAttachmentLink) public: - KaxTrackAttachmentLink(const KaxTrackAttachmentLink & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const {return true;} // we don't mind about what's inside }; DECLARE_MKX_UINTEGER(KaxTrackOverlay) - public: - KaxTrackOverlay(const KaxTrackOverlay & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTrackTranslate) - public: - KaxTrackTranslate(const KaxTrackTranslate & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackTranslateCodec) - public: - KaxTrackTranslateCodec(const KaxTrackTranslateCodec & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxTrackTranslateEditionUID) - public: - KaxTrackTranslateEditionUID(const KaxTrackTranslateEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_BINARY(KaxTrackTranslateTrackID) public: - KaxTrackTranslateTrackID(const KaxTrackTranslateTrackID & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize() const { return true;} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_UNISTRING(KaxCodecSettings) - public: - KaxCodecSettings(const KaxCodecSettings & ElementToClone) :EbmlUnicodeString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxCodecInfoURL) - public: - KaxCodecInfoURL(const KaxCodecInfoURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_STRING(KaxCodecDownloadURL) - public: - KaxCodecDownloadURL(const KaxCodecDownloadURL & ElementToClone) :EbmlString(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxCodecDecodeAll) - public: - KaxCodecDecodeAll(const KaxCodecDecodeAll & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #endif // MATROSKA_VERSION diff --git a/matroska/KaxTrackVideo.h b/matroska/KaxTrackVideo.h index e76f1e2..3df83d0 100644 --- a/matroska/KaxTrackVideo.h +++ b/matroska/KaxTrackVideo.h @@ -47,90 +47,60 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxTrackVideo) - public: - KaxTrackVideo(const KaxTrackVideo & ElementToClone) :EbmlMaster(ElementToClone) {} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_UINTEGER(KaxVideoFlagInterlaced) - public: - KaxVideoFlagInterlaced(const KaxVideoFlagInterlaced & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoStereoMode) - public: - KaxVideoStereoMode(const KaxVideoStereoMode & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #endif // MATROSKA_VERSION DECLARE_MKX_UINTEGER(KaxVideoPixelWidth) - public: - KaxVideoPixelWidth(const KaxVideoPixelWidth & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoPixelHeight) - public: - KaxVideoPixelHeight(const KaxVideoPixelHeight & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoPixelCropBottom) - public: - KaxVideoPixelCropBottom(const KaxVideoPixelCropBottom & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoPixelCropTop) - public: - KaxVideoPixelCropTop(const KaxVideoPixelCropTop & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoPixelCropLeft) - public: - KaxVideoPixelCropLeft(const KaxVideoPixelCropLeft & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoPixelCropRight) - public: - KaxVideoPixelCropRight(const KaxVideoPixelCropRight & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoDisplayWidth) - public: - KaxVideoDisplayWidth(const KaxVideoDisplayWidth & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoDisplayHeight) - public: - KaxVideoDisplayHeight(const KaxVideoDisplayHeight & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_UINTEGER(KaxVideoDisplayUnit) - public: - KaxVideoDisplayUnit(const KaxVideoDisplayUnit & ElementToClone) :EbmlUInteger(ElementToClone) {} }; DECLARE_MKX_UINTEGER(KaxVideoAspectRatio) - public: - KaxVideoAspectRatio(const KaxVideoAspectRatio & ElementToClone) :EbmlUInteger(ElementToClone) {} }; #endif // MATROSKA_VERSION DECLARE_MKX_BINARY(KaxVideoColourSpace) public: - KaxVideoColourSpace(const KaxVideoColourSpace & ElementToClone) :EbmlBinary(ElementToClone){} bool ValidateSize(void) const {return (GetSize() == 4);} }; #if MATROSKA_VERSION >= 2 DECLARE_MKX_FLOAT(KaxVideoGamma) - public: - KaxVideoGamma(const KaxVideoGamma & ElementToClone) :EbmlFloat(ElementToClone) {} }; #endif // MATROSKA_VERSION DECLARE_MKX_FLOAT(KaxVideoFrameRate) public: - KaxVideoFrameRate(const KaxVideoFrameRate & ElementToClone) :EbmlFloat(ElementToClone) {} filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault); }; diff --git a/matroska/KaxTracks.h b/matroska/KaxTracks.h index 18405a5..6000099 100644 --- a/matroska/KaxTracks.h +++ b/matroska/KaxTracks.h @@ -46,14 +46,10 @@ using namespace LIBEBML_NAMESPACE; START_LIBMATROSKA_NAMESPACE DECLARE_MKX_MASTER(KaxTracks) - public: - KaxTracks(const KaxTracks & ElementToClone) :EbmlMaster(ElementToClone) {} }; DECLARE_MKX_MASTER(KaxTrackEntry) public: - KaxTrackEntry(const KaxTrackEntry & ElementToClone) :EbmlMaster(ElementToClone) {} - EbmlUInteger & TrackNumber() const { return *(static_cast(FindElt(EBML_INFO(KaxTrackNumber)))); } void EnableLacing(bool bEnable = true); diff --git a/src/KaxBlock.cpp b/src/KaxBlock.cpp index 6090b3f..2f4a737 100644 --- a/src/KaxBlock.cpp +++ b/src/KaxBlock.cpp @@ -271,6 +271,13 @@ KaxBlockVirtual::KaxBlockVirtual(const KaxBlockVirtual & ElementToClone) SetValueIsSet(false); } +KaxBlockVirtual::KaxBlockVirtual() +:ParentCluster(NULL) +{ + SetBuffer(DataBlock,sizeof(DataBlock)); + SetValueIsSet(false); +} + KaxBlockVirtual::~KaxBlockVirtual() { if(GetBuffer() == DataBlock) diff --git a/src/KaxBlockData.cpp b/src/KaxBlockData.cpp index d416919..7fe307d 100644 --- a/src/KaxBlockData.cpp +++ b/src/KaxBlockData.cpp @@ -75,6 +75,19 @@ const KaxBlockBlob & KaxReferenceBlock::RefBlock() const return *RefdBlock; } +KaxReferenceBlock::KaxReferenceBlock() +:RefdBlock(NULL) +,ParentBlock(NULL) +{ + bTimecodeSet = false; +} + +KaxReferenceBlock::KaxReferenceBlock(const KaxReferenceBlock & ElementToClone) +:EbmlSInteger(ElementToClone) +,bTimecodeSet(ElementToClone.bTimecodeSet) +{ +} + filepos_t KaxReferenceBlock::UpdateSize(bool bSaveDefault, bool bForceRender) { if (!bTimecodeSet) {