the DECLARE_xxx macros now include the EBML_CONCRETE_CLASS declarations as well (less verbose)

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@79 a6f86f6d-0131-4f8e-9e7b-e335508773d5
This commit is contained in:
Steve Lhomme 2010-04-07 09:36:55 +00:00
parent becc597951
commit a90971f7c8
22 changed files with 46 additions and 576 deletions

View File

@ -50,29 +50,21 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxAttached)
public:
KaxAttached(const KaxAttached & ElementToClone) : EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxAttached)
};
DECLARE_MKX_UNISTRING(KaxFileDescription)
public:
KaxFileDescription(const KaxFileDescription & ElementToClone) : EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxFileDescription)
};
DECLARE_MKX_UNISTRING(KaxFileName)
public:
KaxFileName(const KaxFileName & ElementToClone) : EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxFileName)
};
DECLARE_MKX_STRING(KaxMimeType)
public:
KaxMimeType(const KaxMimeType & ElementToClone) : EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxMimeType)
};
DECLARE_MKX_BINARY(KaxFileData)
@ -80,23 +72,17 @@ DECLARE_MKX_BINARY(KaxFileData)
KaxFileData(const KaxFileData & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxFileData)
};
DECLARE_MKX_BINARY(KaxFileReferral)
public:
KaxFileReferral(const KaxFileReferral & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxFileReferral)
};
DECLARE_MKX_UINTEGER(KaxFileUID)
public:
KaxFileUID(const KaxFileUID & ElementToClone) : EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxFileUID)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -46,8 +46,6 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxAttachments)
public:
KaxAttachments(const KaxAttachments & ElementToClone) : EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxAttachments)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -187,8 +187,6 @@ DECLARE_MKX_MASTER(KaxBlockGroup)
protected:
KaxCluster * ParentCluster;
const KaxTrackEntry * ParentTrack;
EBML_CONCRETE_CLASS(KaxBlockGroup)
};
class KaxInternalBlock : public EbmlBinary {
@ -347,8 +345,6 @@ protected:
DECLARE_MKX_UINTEGER(KaxBlockDuration)
public:
KaxBlockDuration(const KaxBlockDuration & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxBlockDuration)
};
#if MATROSKA_VERSION >= 2
@ -372,8 +368,6 @@ DECLARE_MKX_BINARY_CONS(KaxBlockVirtual)
binary DataBlock[5];
const KaxCluster * ParentCluster;
EBML_CONCRETE_CLASS(KaxBlockVirtual)
};
#endif // MATROSKA_VERSION
@ -381,29 +375,21 @@ DECLARE_MKX_BINARY(KaxBlockAdditional)
public:
KaxBlockAdditional(const KaxBlockAdditional & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;}
EBML_CONCRETE_CLASS(KaxBlockAdditional)
};
DECLARE_MKX_MASTER(KaxBlockAdditions)
public:
KaxBlockAdditions(const KaxBlockAdditions & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxBlockAdditions)
};
DECLARE_MKX_MASTER(KaxBlockMore)
public:
KaxBlockMore(const KaxBlockMore & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxBlockMore)
};
DECLARE_MKX_UINTEGER(KaxBlockAddID)
public:
KaxBlockAddID(const KaxBlockAddID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxBlockAddID)
};
DECLARE_MKX_BINARY(KaxCodecState)
@ -411,8 +397,6 @@ DECLARE_MKX_BINARY(KaxCodecState)
KaxCodecState(const KaxCodecState & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;}
EBML_CONCRETE_CLASS(KaxCodecState)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -50,8 +50,6 @@ class KaxBlockBlob;
DECLARE_MKX_UINTEGER(KaxReferencePriority)
public:
KaxReferencePriority(const KaxReferencePriority & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxReferencePriority)
};
/*!
@ -77,66 +75,48 @@ DECLARE_MKX_SINTEGER_CONS(KaxReferenceBlock)
const KaxBlockGroup * ParentBlock;
void SetReferencedTimecode(int64 refTimecode) {*static_cast<EbmlSInteger*>(this) = refTimecode; bTimecodeSet = true;};
bool bTimecodeSet;
EBML_CONCRETE_CLASS(KaxReferenceBlock)
};
#if MATROSKA_VERSION >= 2
DECLARE_MKX_SINTEGER(KaxReferenceVirtual)
public:
KaxReferenceVirtual(const KaxReferenceVirtual & ElementToClone) :EbmlSInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxReferenceVirtual)
};
#endif // MATROSKA_VERSION
DECLARE_MKX_MASTER(KaxTimeSlice)
public:
KaxTimeSlice(const KaxTimeSlice & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTimeSlice)
};
DECLARE_MKX_MASTER(KaxSlices)
public:
KaxSlices(const KaxSlices & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxSlices)
};
DECLARE_MKX_UINTEGER(KaxSliceLaceNumber)
public:
KaxSliceLaceNumber(const KaxSliceLaceNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxSliceLaceNumber)
};
DECLARE_MKX_UINTEGER(KaxSliceFrameNumber)
public:
KaxSliceFrameNumber(const KaxSliceFrameNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxSliceFrameNumber)
};
DECLARE_MKX_UINTEGER(KaxSliceBlockAddID)
public:
KaxSliceBlockAddID(const KaxSliceBlockAddID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxSliceBlockAddID)
};
DECLARE_MKX_UINTEGER(KaxSliceDelay)
public:
KaxSliceDelay(const KaxSliceDelay & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxSliceDelay)
};
DECLARE_MKX_UINTEGER(KaxSliceDuration)
public:
KaxSliceDuration(const KaxSliceDuration & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxSliceDuration)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -50,194 +50,140 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxChapters)
public:
KaxChapters(const KaxChapters & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapters)
};
DECLARE_MKX_MASTER(KaxEditionEntry)
public:
KaxEditionEntry(const KaxEditionEntry & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxEditionEntry)
};
DECLARE_MKX_UINTEGER(KaxEditionUID)
public:
KaxEditionUID(const KaxEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxEditionUID)
};
DECLARE_MKX_UINTEGER(KaxEditionFlagHidden)
public:
KaxEditionFlagHidden(const KaxEditionFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxEditionFlagHidden)
};
DECLARE_MKX_UINTEGER(KaxEditionFlagDefault)
public:
KaxEditionFlagDefault(const KaxEditionFlagDefault & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxEditionFlagDefault)
};
DECLARE_MKX_UINTEGER(KaxEditionFlagOrdered)
public:
KaxEditionFlagOrdered(const KaxEditionFlagOrdered & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxEditionFlagOrdered)
};
DECLARE_MKX_MASTER(KaxChapterAtom)
public:
KaxChapterAtom(const KaxChapterAtom & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterAtom)
};
DECLARE_MKX_UINTEGER(KaxChapterUID)
public:
KaxChapterUID(const KaxChapterUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterUID)
};
DECLARE_MKX_UINTEGER(KaxChapterTimeStart)
public:
KaxChapterTimeStart(const KaxChapterTimeStart & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterTimeStart)
};
DECLARE_MKX_UINTEGER(KaxChapterTimeEnd)
public:
KaxChapterTimeEnd(const KaxChapterTimeEnd & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterTimeEnd)
};
DECLARE_MKX_UINTEGER(KaxChapterFlagHidden)
public:
KaxChapterFlagHidden(const KaxChapterFlagHidden & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterFlagHidden)
};
DECLARE_MKX_UINTEGER(KaxChapterFlagEnabled)
public:
KaxChapterFlagEnabled(const KaxChapterFlagEnabled & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterFlagEnabled)
};
DECLARE_MKX_BINARY(KaxChapterSegmentUID)
public:
KaxChapterSegmentUID(const KaxChapterSegmentUID & ElementToClone) :EbmlBinary(ElementToClone) {}
bool ValidateSize() const { return (GetSize() == 16);}
EBML_CONCRETE_CLASS(KaxChapterSegmentUID)
};
DECLARE_MKX_BINARY(KaxChapterSegmentEditionUID)
public:
KaxChapterSegmentEditionUID(const KaxChapterSegmentEditionUID & ElementToClone) :EbmlBinary(ElementToClone) {}
bool ValidateSize() const { return (GetSize() == 16);}
EBML_CONCRETE_CLASS(KaxChapterSegmentEditionUID)
};
DECLARE_MKX_UINTEGER(KaxChapterPhysicalEquiv)
public:
KaxChapterPhysicalEquiv(const KaxChapterPhysicalEquiv & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterPhysicalEquiv)
};
DECLARE_MKX_MASTER(KaxChapterTrack)
public:
KaxChapterTrack(const KaxChapterTrack & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterTrack)
};
DECLARE_MKX_UINTEGER(KaxChapterTrackNumber)
public:
KaxChapterTrackNumber(const KaxChapterTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterTrackNumber)
};
DECLARE_MKX_MASTER(KaxChapterDisplay)
public:
KaxChapterDisplay(const KaxChapterDisplay & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterDisplay)
};
DECLARE_MKX_UNISTRING(KaxChapterString)
public:
KaxChapterString(const KaxChapterString & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterString)
};
DECLARE_MKX_STRING(KaxChapterLanguage)
public:
KaxChapterLanguage(const KaxChapterLanguage & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterLanguage)
};
DECLARE_MKX_STRING(KaxChapterCountry)
public:
KaxChapterCountry(const KaxChapterCountry & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterCountry)
};
DECLARE_MKX_MASTER(KaxChapterProcess)
public:
KaxChapterProcess(const KaxChapterProcess & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterProcess)
};
DECLARE_MKX_UINTEGER(KaxChapterProcessCodecID)
public:
KaxChapterProcessCodecID(const KaxChapterProcessCodecID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterProcessCodecID)
};
DECLARE_MKX_BINARY(KaxChapterProcessPrivate)
public:
KaxChapterProcessPrivate(const KaxChapterProcessPrivate & ElementToClone) :EbmlBinary(ElementToClone) {}
bool ValidateSize() const {return true;}
EBML_CONCRETE_CLASS(KaxChapterProcessPrivate)
};
DECLARE_MKX_MASTER(KaxChapterProcessCommand)
public:
KaxChapterProcessCommand(const KaxChapterProcessCommand & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterProcessCommand)
};
DECLARE_MKX_UINTEGER(KaxChapterProcessTime)
public:
KaxChapterProcessTime(const KaxChapterProcessTime & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterProcessTime)
};
DECLARE_MKX_BINARY(KaxChapterProcessData)
public:
KaxChapterProcessData(const KaxChapterProcessData & ElementToClone) :EbmlBinary(ElementToClone) {}
bool ValidateSize() const {return true;}
EBML_CONCRETE_CLASS(KaxChapterProcessData)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -155,8 +155,6 @@ DECLARE_MKX_MASTER(KaxCluster)
\note method used internally
*/
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

View File

@ -47,36 +47,26 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_UINTEGER(KaxClusterTimecode)
public:
KaxClusterTimecode(const KaxClusterTimecode & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxClusterTimecode)
};
DECLARE_MKX_MASTER(KaxClusterSilentTracks)
public:
KaxClusterSilentTracks(const KaxClusterSilentTracks & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxClusterSilentTracks)
};
DECLARE_MKX_UINTEGER(KaxClusterSilentTrackNumber)
public:
KaxClusterSilentTrackNumber(const KaxClusterSilentTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxClusterSilentTrackNumber)
};
DECLARE_MKX_UINTEGER(KaxClusterPosition)
public:
KaxClusterPosition(const KaxClusterPosition & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxClusterPosition)
};
DECLARE_MKX_UINTEGER(KaxClusterPrevSize)
public:
KaxClusterPrevSize(const KaxClusterPrevSize & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxClusterPrevSize)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -49,56 +49,42 @@ DECLARE_MKX_MASTER(KaxContentEncodings)
public:
KaxContentEncodings(const KaxContentEncodings &ElementToClone):
EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentEncodings)
};
DECLARE_MKX_MASTER(KaxContentEncoding)
public:
KaxContentEncoding(const KaxContentEncoding &ElementToClone):
EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentEncoding)
};
DECLARE_MKX_UINTEGER(KaxContentEncodingOrder)
public:
KaxContentEncodingOrder(const KaxContentEncodingOrder &ElementToClone):
EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentEncodingOrder)
};
DECLARE_MKX_UINTEGER(KaxContentEncodingScope)
public:
KaxContentEncodingScope(const KaxContentEncodingScope &ElementToClone):
EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentEncodingScope)
};
DECLARE_MKX_UINTEGER(KaxContentEncodingType)
public:
KaxContentEncodingType(const KaxContentEncodingType &ElementToClone):
EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentEncodingType)
};
DECLARE_MKX_MASTER(KaxContentCompression)
public:
KaxContentCompression(const KaxContentCompression &ElementToClone):
EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentCompression)
};
DECLARE_MKX_UINTEGER(KaxContentCompAlgo)
public:
KaxContentCompAlgo(const KaxContentCompAlgo &ElementToClone):
EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentCompAlgo)
};
DECLARE_MKX_BINARY(KaxContentCompSettings)
@ -106,24 +92,18 @@ DECLARE_MKX_BINARY(KaxContentCompSettings)
KaxContentCompSettings(const KaxContentCompSettings &ElementToClone):
EbmlBinary(ElementToClone) {}
bool ValidateSize(void) const { return true; }
EBML_CONCRETE_CLASS(KaxContentCompSettings)
};
DECLARE_MKX_MASTER(KaxContentEncryption)
public:
KaxContentEncryption(const KaxContentEncryption &ElementToClone):
EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentEncryption)
};
DECLARE_MKX_UINTEGER(KaxContentEncAlgo)
public:
KaxContentEncAlgo(const KaxContentEncAlgo &ElementToClone):
EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentEncAlgo)
};
DECLARE_MKX_BINARY(KaxContentEncKeyID)
@ -131,8 +111,6 @@ DECLARE_MKX_BINARY(KaxContentEncKeyID)
KaxContentEncKeyID(const KaxContentEncKeyID &ElementToClone):
EbmlBinary(ElementToClone) {}
bool ValidateSize(void) const { return true; }
EBML_CONCRETE_CLASS(KaxContentEncKeyID)
};
DECLARE_MKX_BINARY(KaxContentSignature)
@ -140,8 +118,6 @@ DECLARE_MKX_BINARY(KaxContentSignature)
KaxContentSignature(const KaxContentSignature &ElementToClone):
EbmlBinary(ElementToClone) {}
bool ValidateSize(void) const { return true; }
EBML_CONCRETE_CLASS(KaxContentSignature)
};
DECLARE_MKX_BINARY(KaxContentSigKeyID)
@ -149,24 +125,18 @@ DECLARE_MKX_BINARY(KaxContentSigKeyID)
KaxContentSigKeyID(const KaxContentSigKeyID &ElementToClone):
EbmlBinary(ElementToClone) {}
bool ValidateSize(void) const { return true; }
EBML_CONCRETE_CLASS(KaxContentSigKeyID)
};
DECLARE_MKX_UINTEGER(KaxContentSigAlgo)
public:
KaxContentSigAlgo(const KaxContentSigAlgo &ElementToClone):
EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentSigAlgo)
};
DECLARE_MKX_UINTEGER(KaxContentSigHashAlgo)
public:
KaxContentSigHashAlgo(const KaxContentSigHashAlgo &ElementToClone):
EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxContentSigHashAlgo)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -85,8 +85,6 @@ DECLARE_MKX_MASTER(KaxCues)
std::vector<const KaxBlockBlob *> myTempReferences;
bool bGlobalTimecodeScaleIsSet;
uint64 mGlobalTimecodeScale;
EBML_CONCRETE_CLASS(KaxCues)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -57,15 +57,11 @@ DECLARE_MKX_MASTER(KaxCuePoint)
const KaxCueTrackPositions * GetSeekPosition() const;
bool Timecode(uint64 & aTimecode, uint64 GlobalTimecodeScale) const;
EBML_CONCRETE_CLASS(KaxCuePoint)
};
DECLARE_MKX_UINTEGER(KaxCueTime)
public:
KaxCueTime(const KaxCueTime & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueTime)
};
DECLARE_MKX_MASTER(KaxCueTrackPositions)
@ -74,37 +70,27 @@ DECLARE_MKX_MASTER(KaxCueTrackPositions)
uint64 ClusterPosition() const;
uint16 TrackNumber() const;
EBML_CONCRETE_CLASS(KaxCueTrackPositions)
};
DECLARE_MKX_UINTEGER(KaxCueTrack)
public:
KaxCueTrack(const KaxCueTrack & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueTrack)
};
DECLARE_MKX_UINTEGER(KaxCueClusterPosition)
public:
KaxCueClusterPosition(const KaxCueClusterPosition & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueClusterPosition)
};
DECLARE_MKX_UINTEGER(KaxCueBlockNumber)
public:
KaxCueBlockNumber(const KaxCueBlockNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueBlockNumber)
};
#if MATROSKA_VERSION >= 2
DECLARE_MKX_UINTEGER(KaxCueCodecState)
public:
KaxCueCodecState(const KaxCueCodecState & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueCodecState)
};
DECLARE_MKX_MASTER(KaxCueReference)
@ -113,36 +99,26 @@ DECLARE_MKX_MASTER(KaxCueReference)
void AddReference(const KaxBlockGroup & BlockReferenced, uint64 GlobalTimecodeScale);
void AddReference(const KaxBlockBlob & BlockReferenced, uint64 GlobalTimecodeScale);
EBML_CONCRETE_CLASS(KaxCueReference)
};
DECLARE_MKX_UINTEGER(KaxCueRefTime)
public:
KaxCueRefTime(const KaxCueRefTime & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueRefTime)
};
DECLARE_MKX_UINTEGER(KaxCueRefCluster)
public:
KaxCueRefCluster(const KaxCueRefCluster & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueRefCluster)
};
DECLARE_MKX_UINTEGER(KaxCueRefNumber)
public:
KaxCueRefNumber(const KaxCueRefNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueRefNumber)
};
DECLARE_MKX_UINTEGER(KaxCueRefCodecState)
public:
KaxCueRefCodecState(const KaxCueRefCodecState & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCueRefCodecState)
};
#endif // MATROSKA_VERSION

View File

@ -61,32 +61,42 @@
#define DECLARE_MKX_MASTER(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlMaster { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_BINARY(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlBinary { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_BINARY_CONS(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlBinary {
class MATROSKA_DLL_API x : public EbmlBinary { \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_UNISTRING(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlUnicodeString { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_STRING(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlString { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_UINTEGER(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlUInteger { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_SINTEGER_CONS(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlSInteger {
class MATROSKA_DLL_API x : public EbmlSInteger { \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_SINTEGER(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlSInteger { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_DATE(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlDate { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_FLOAT(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlFloat { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#else
#define DEFINE_MKX_CONTEXT(a) DEFINE_xxx_CONTEXT(a,*GetKaxGlobal_Context)
@ -112,32 +122,42 @@ 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();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_BINARY(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlBinary { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_BINARY_CONS(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlBinary {
class MATROSKA_DLL_API x : public EbmlBinary { \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_UNISTRING(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlUnicodeString { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_STRING(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlString { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_UINTEGER(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlUInteger { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_SINTEGER_CONS(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlSInteger {
class MATROSKA_DLL_API x : public EbmlSInteger { \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_SINTEGER(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlSInteger { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_DATE(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlDate { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#define DECLARE_MKX_FLOAT(x) DECLARE_MKX_CONTEXT(x) \
class MATROSKA_DLL_API x : public EbmlFloat { \
public: x();
public: x(); \
EBML_CONCRETE_CLASS(x)
#endif
#endif // LIBMATROSKA_DEFINES_H

View File

@ -47,22 +47,16 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxInfo)
public:
KaxInfo(const KaxInfo & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxInfo)
};
DECLARE_MKX_UNISTRING(KaxMuxingApp)
public:
KaxMuxingApp(const KaxMuxingApp & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxMuxingApp)
};
DECLARE_MKX_UNISTRING(KaxWritingApp)
public:
KaxWritingApp(const KaxWritingApp & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxWritingApp)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -54,15 +54,11 @@ DECLARE_MKX_BINARY(KaxSegmentUID)
public:
KaxSegmentUID(const KaxSegmentUID & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const { return (GetSize() == 16);}
EBML_CONCRETE_CLASS(KaxSegmentUID)
};
DECLARE_MKX_UNISTRING(KaxSegmentFilename)
public:
KaxSegmentFilename(const KaxSegmentFilename & ElementToClone) :EbmlUnicodeString(ElementToClone){}
EBML_CONCRETE_CLASS(KaxSegmentFilename)
};
DECLARE_MKX_CONTEXT(KaxPrevUID);
@ -78,8 +74,6 @@ class MATROSKA_DLL_API KaxPrevUID : public KaxSegmentUID {
DECLARE_MKX_UNISTRING(KaxPrevFilename)
public:
KaxPrevFilename(const KaxPrevFilename & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxPrevFilename)
};
DECLARE_MKX_CONTEXT(KaxNextUID);
@ -95,73 +89,53 @@ class MATROSKA_DLL_API KaxNextUID : public KaxSegmentUID {
DECLARE_MKX_UNISTRING(KaxNextFilename)
public:
KaxNextFilename(const KaxNextFilename & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxNextFilename)
};
DECLARE_MKX_BINARY(KaxSegmentFamily)
public:
KaxSegmentFamily(const KaxSegmentFamily & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const { return (GetSize() == 16);}
EBML_CONCRETE_CLASS(KaxSegmentFamily)
};
DECLARE_MKX_MASTER(KaxChapterTranslate)
public:
KaxChapterTranslate(const KaxChapterTranslate & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterTranslate)
};
DECLARE_MKX_UINTEGER(KaxChapterTranslateCodec)
public:
KaxChapterTranslateCodec(const KaxChapterTranslateCodec & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterTranslateCodec)
};
DECLARE_MKX_UINTEGER(KaxChapterTranslateEditionUID)
public:
KaxChapterTranslateEditionUID(const KaxChapterTranslateEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxChapterTranslateEditionUID)
};
DECLARE_MKX_BINARY(KaxChapterTranslateID)
public:
KaxChapterTranslateID(const KaxChapterTranslateID & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const { return true;}
EBML_CONCRETE_CLASS(KaxChapterTranslateID)
};
DECLARE_MKX_UINTEGER(KaxTimecodeScale)
public:
KaxTimecodeScale(const KaxTimecodeScale & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTimecodeScale)
};
DECLARE_MKX_FLOAT(KaxDuration)
public:
KaxDuration(const KaxDuration & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxDuration)
};
DECLARE_MKX_DATE(KaxDateUTC)
public:
KaxDateUTC(const KaxDateUTC & ElementToClone) :EbmlDate(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxDateUTC)
};
DECLARE_MKX_UNISTRING(KaxTitle)
public:
KaxTitle(const KaxTitle & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTitle)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -60,8 +60,6 @@ DECLARE_MKX_MASTER(KaxSeekHead)
KaxSeek * FindFirstOf(const EbmlCallbacks & Callbacks) const;
KaxSeek * FindNextOf(const KaxSeek &aPrev) const;
EBML_CONCRETE_CLASS(KaxSeekHead)
};
DECLARE_MKX_MASTER(KaxSeek)
@ -71,23 +69,17 @@ DECLARE_MKX_MASTER(KaxSeek)
int64 Location() const;
bool IsEbmlId(const EbmlId & aId) const;
bool IsEbmlId(const KaxSeek & aPoint) const;
EBML_CONCRETE_CLASS(KaxSeek)
};
DECLARE_MKX_BINARY(KaxSeekID)
public:
KaxSeekID(const KaxSeekID & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return GetSize() <= 4;}
EBML_CONCRETE_CLASS(KaxSeekID)
};
DECLARE_MKX_UINTEGER(KaxSeekPosition)
public:
KaxSeekPosition(const KaxSeekPosition & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxSeekPosition)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -57,8 +57,6 @@ DECLARE_MKX_MASTER(KaxSegment)
\brief give the position of the element in the file
*/
uint64 GetGlobalPosition(uint64 aRelativePosition) const;
EBML_CONCRETE_CLASS(KaxSegment)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -53,414 +53,298 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxTag)
public:
KaxTag(const KaxTag & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTag)
};
DECLARE_MKX_MASTER(KaxTagTargets)
public:
KaxTagTargets(const KaxTagTargets & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagTargets)
};
DECLARE_MKX_MASTER(KaxTagGeneral)
public:
KaxTagGeneral(const KaxTagGeneral & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagGeneral)
};
DECLARE_MKX_MASTER(KaxTagGenres)
public:
KaxTagGenres(const KaxTagGenres & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagGenres)
};
DECLARE_MKX_MASTER(KaxTagAudioSpecific)
public:
KaxTagAudioSpecific(const KaxTagAudioSpecific & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagAudioSpecific)
};
DECLARE_MKX_MASTER(KaxTagImageSpecific)
public:
KaxTagImageSpecific(const KaxTagImageSpecific & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagImageSpecific)
};
DECLARE_MKX_UINTEGER(KaxTagTargetTypeValue)
public:
KaxTagTargetTypeValue(const KaxTagTargetTypeValue & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagTargetTypeValue)
};
DECLARE_MKX_STRING(KaxTagTargetType)
public:
KaxTagTargetType(const KaxTagTargetType & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagTargetType)
};
DECLARE_MKX_UINTEGER(KaxTagTrackUID)
public:
KaxTagTrackUID(const KaxTagTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagTrackUID)
};
DECLARE_MKX_UINTEGER(KaxTagEditionUID)
public:
KaxTagEditionUID(const KaxTagEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagEditionUID)
};
DECLARE_MKX_UINTEGER(KaxTagChapterUID)
public:
KaxTagChapterUID(const KaxTagChapterUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagChapterUID)
};
DECLARE_MKX_UINTEGER(KaxTagAttachmentUID)
public:
KaxTagAttachmentUID(const KaxTagAttachmentUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagAttachmentUID)
};
DECLARE_MKX_UNISTRING(KaxTagArchivalLocation)
public:
KaxTagArchivalLocation(const KaxTagArchivalLocation & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagArchivalLocation)
};
DECLARE_MKX_BINARY(KaxTagAudioEncryption)
public:
KaxTagAudioEncryption(const KaxTagAudioEncryption & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTagAudioEncryption)
};
DECLARE_MKX_FLOAT(KaxTagAudioGain)
public:
KaxTagAudioGain(const KaxTagAudioGain & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagAudioGain)
};
DECLARE_MKX_STRING(KaxTagAudioGenre)
public:
KaxTagAudioGenre(const KaxTagAudioGenre & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagAudioGenre)
};
DECLARE_MKX_FLOAT(KaxTagAudioPeak)
public:
KaxTagAudioPeak(const KaxTagAudioPeak & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagAudioPeak)
};
DECLARE_MKX_UNISTRING(KaxTagBibliography)
public:
KaxTagBibliography(const KaxTagBibliography & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagBibliography)
};
DECLARE_MKX_FLOAT(KaxTagBPM)
public:
KaxTagBPM(const KaxTagBPM & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagBPM)
};
DECLARE_MKX_UINTEGER(KaxTagCaptureDPI)
public:
KaxTagCaptureDPI(const KaxTagCaptureDPI & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagCaptureDPI)
};
DECLARE_MKX_BINARY(KaxTagCaptureLightness)
public:
KaxTagCaptureLightness(const KaxTagCaptureLightness & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTagCaptureLightness)
};
DECLARE_MKX_UINTEGER(KaxTagCapturePaletteSetting)
public:
KaxTagCapturePaletteSetting(const KaxTagCapturePaletteSetting & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagCapturePaletteSetting)
};
DECLARE_MKX_BINARY(KaxTagCaptureSharpness)
public:
KaxTagCaptureSharpness(const KaxTagCaptureSharpness & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTagCaptureSharpness)
};
DECLARE_MKX_UNISTRING(KaxTagCropped)
public:
KaxTagCropped(const KaxTagCropped & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagCropped)
};
DECLARE_MKX_UINTEGER(KaxTagDiscTrack)
public:
KaxTagDiscTrack(const KaxTagDiscTrack & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagDiscTrack)
};
DECLARE_MKX_UNISTRING(KaxTagEncoder)
public:
KaxTagEncoder(const KaxTagEncoder & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagEncoder)
};
DECLARE_MKX_UNISTRING(KaxTagEncodeSettings)
public:
KaxTagEncodeSettings(const KaxTagEncodeSettings & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagEncodeSettings)
};
DECLARE_MKX_BINARY(KaxTagEqualisation)
public:
KaxTagEqualisation(const KaxTagEqualisation & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTagEqualisation)
};
DECLARE_MKX_UNISTRING(KaxTagFile)
public:
KaxTagFile(const KaxTagFile & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagFile)
};
DECLARE_MKX_STRING(KaxTagInitialKey)
public:
KaxTagInitialKey(const KaxTagInitialKey & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagInitialKey)
};
DECLARE_MKX_UNISTRING(KaxTagKeywords)
public:
KaxTagKeywords(const KaxTagKeywords & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagKeywords)
};
DECLARE_MKX_STRING(KaxTagLanguage)
public:
KaxTagLanguage(const KaxTagLanguage & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagLanguage)
};
DECLARE_MKX_UINTEGER(KaxTagLength)
public:
KaxTagLength(const KaxTagLength & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagLength)
};
DECLARE_MKX_UNISTRING(KaxTagMood)
public:
KaxTagMood(const KaxTagMood & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMood)
};
DECLARE_MKX_STRING(KaxTagOfficialAudioFileURL)
public:
KaxTagOfficialAudioFileURL(const KaxTagOfficialAudioFileURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagOfficialAudioFileURL)
};
DECLARE_MKX_STRING(KaxTagOfficialAudioSourceURL)
public:
KaxTagOfficialAudioSourceURL(const KaxTagOfficialAudioSourceURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagOfficialAudioSourceURL)
};
DECLARE_MKX_STRING(KaxTagOriginalDimensions)
public:
KaxTagOriginalDimensions(const KaxTagOriginalDimensions & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagOriginalDimensions)
};
DECLARE_MKX_UNISTRING(KaxTagOriginalMediaType)
public:
KaxTagOriginalMediaType(const KaxTagOriginalMediaType & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagOriginalMediaType)
};
DECLARE_MKX_UINTEGER(KaxTagPlayCounter)
public:
KaxTagPlayCounter(const KaxTagPlayCounter & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagPlayCounter)
};
DECLARE_MKX_UINTEGER(KaxTagPlaylistDelay)
public:
KaxTagPlaylistDelay(const KaxTagPlaylistDelay & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagPlaylistDelay)
};
DECLARE_MKX_SINTEGER(KaxTagPopularimeter)
public:
KaxTagPopularimeter(const KaxTagPopularimeter & ElementToClone) :EbmlSInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagPopularimeter)
};
DECLARE_MKX_UNISTRING(KaxTagProduct)
public:
KaxTagProduct(const KaxTagProduct & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagProduct)
};
DECLARE_MKX_BINARY(KaxTagRating)
public:
KaxTagRating(const KaxTagRating & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTagRating)
};
DECLARE_MKX_STRING(KaxTagRecordLocation)
public:
KaxTagRecordLocation(const KaxTagRecordLocation & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagRecordLocation)
};
DECLARE_MKX_UINTEGER(KaxTagSetPart)
public:
KaxTagSetPart(const KaxTagSetPart & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagSetPart)
};
DECLARE_MKX_UNISTRING(KaxTagSource)
public:
KaxTagSource(const KaxTagSource & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagSource)
};
DECLARE_MKX_UNISTRING(KaxTagSourceForm)
public:
KaxTagSourceForm(const KaxTagSourceForm & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagSourceForm)
};
DECLARE_MKX_STRING(KaxTagSubGenre)
public:
KaxTagSubGenre(const KaxTagSubGenre & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagSubGenre)
};
DECLARE_MKX_UNISTRING(KaxTagSubject)
public:
KaxTagSubject(const KaxTagSubject & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagSubject)
};
DECLARE_MKX_UNISTRING(KaxTagUnsynchronisedText)
public:
KaxTagUnsynchronisedText(const KaxTagUnsynchronisedText & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagUnsynchronisedText)
};
DECLARE_MKX_STRING(KaxTagUserDefinedURL)
public:
KaxTagUserDefinedURL(const KaxTagUserDefinedURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagUserDefinedURL)
};
DECLARE_MKX_BINARY(KaxTagVideoGenre)
public:
KaxTagVideoGenre(const KaxTagVideoGenre & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return (GetSize() >= 2);}
EBML_CONCRETE_CLASS(KaxTagVideoGenre)
};
DECLARE_MKX_MASTER(KaxTagSimple)
public:
KaxTagSimple(const KaxTagSimple & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagSimple)
};
DECLARE_MKX_UNISTRING(KaxTagName)
public:
KaxTagName(const KaxTagName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagName)
};
DECLARE_MKX_STRING(KaxTagLangue)
public:
KaxTagLangue(const KaxTagLangue & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagLangue)
};
DECLARE_MKX_UINTEGER(KaxTagDefault)
public:
KaxTagDefault(const KaxTagTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagDefault)
};
DECLARE_MKX_UNISTRING(KaxTagString)
public:
KaxTagString(const KaxTagString & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagString)
};
DECLARE_MKX_BINARY(KaxTagBinary)
public:
KaxTagBinary(const KaxTagBinary & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // {return (GetSize() >= 0);}
EBML_CONCRETE_CLASS(KaxTagBinary)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -126,391 +126,277 @@ enum KaxTagMultiTitleTypes {
DECLARE_MKX_MASTER(KaxTagMultiComment)
public:
KaxTagMultiComment(const KaxTagMultiComment & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiComment)
};
DECLARE_MKX_STRING(KaxTagMultiCommentName)
public:
KaxTagMultiCommentName(const KaxTagMultiCommentName & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommentName)
};
DECLARE_MKX_UNISTRING(KaxTagMultiCommentComments)
public:
KaxTagMultiCommentComments(const KaxTagMultiCommentComments & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommentComments)
};
DECLARE_MKX_STRING(KaxTagMultiCommentLanguage)
public:
KaxTagMultiCommentLanguage(const KaxTagMultiCommentLanguage & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommentLanguage)
};
DECLARE_MKX_MASTER(KaxTagMultiCommercial)
public:
KaxTagMultiCommercial(const KaxTagMultiCommercial & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommercial)
};
DECLARE_MKX_MASTER(KaxTagCommercial)
public:
KaxTagCommercial(const KaxTagCommercial & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagCommercial)
};
DECLARE_MKX_UINTEGER(KaxTagMultiCommercialType)
public:
KaxTagMultiCommercialType(const KaxTagMultiCommercialType & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommercialType)
};
DECLARE_MKX_UNISTRING(KaxTagMultiCommercialAddress)
public:
KaxTagMultiCommercialAddress(const KaxTagMultiCommercialAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommercialAddress)
};
DECLARE_MKX_STRING(KaxTagMultiCommercialURL)
public:
KaxTagMultiCommercialURL(const KaxTagMultiCommercialURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommercialURL)
};
DECLARE_MKX_STRING(KaxTagMultiCommercialEmail)
public:
KaxTagMultiCommercialEmail(const KaxTagMultiCommercialEmail & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiCommercialEmail)
};
DECLARE_MKX_MASTER(KaxTagMultiPrice)
public:
KaxTagMultiPrice(const KaxTagMultiPrice & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiPrice)
};
DECLARE_MKX_STRING(KaxTagMultiPriceCurrency)
public:
KaxTagMultiPriceCurrency(const KaxTagMultiPriceCurrency & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiPriceCurrency)
};
DECLARE_MKX_FLOAT(KaxTagMultiPriceAmount)
public:
KaxTagMultiPriceAmount(const KaxTagMultiPriceAmount & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiPriceAmount)
};
DECLARE_MKX_DATE(KaxTagMultiPricePriceDate)
public:
KaxTagMultiPricePriceDate(const KaxTagMultiPricePriceDate & ElementToClone) :EbmlDate(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiPricePriceDate)
};
DECLARE_MKX_MASTER(KaxTagMultiDate)
public:
KaxTagMultiDate(const KaxTagMultiDate & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiDate)
};
DECLARE_MKX_MASTER(KaxTagDate)
public:
KaxTagDate(const KaxTagDate & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagDate)
};
DECLARE_MKX_UINTEGER(KaxTagMultiDateType)
public:
KaxTagMultiDateType(const KaxTagMultiDateType & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiDateType)
};
DECLARE_MKX_DATE(KaxTagMultiDateDateBegin)
public:
KaxTagMultiDateDateBegin(const KaxTagMultiDateDateBegin & ElementToClone) :EbmlDate(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiDateDateBegin)
};
DECLARE_MKX_DATE(KaxTagMultiDateDateEnd)
public:
KaxTagMultiDateDateEnd(const KaxTagMultiDateDateEnd & ElementToClone) :EbmlDate(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiDateDateEnd)
};
DECLARE_MKX_MASTER(KaxTagMultiEntity)
public:
KaxTagMultiEntity(const KaxTagMultiEntity & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiEntity)
};
DECLARE_MKX_MASTER(KaxTagEntity)
public:
KaxTagEntity(const KaxTagEntity & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagEntity)
};
DECLARE_MKX_UINTEGER(KaxTagMultiEntityType)
public:
KaxTagMultiEntityType(const KaxTagMultiEntityType & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiEntityType)
};
DECLARE_MKX_UNISTRING(KaxTagMultiEntityName)
public:
KaxTagMultiEntityName(const KaxTagMultiEntityName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiEntityName)
};
DECLARE_MKX_UNISTRING(KaxTagMultiEntityAddress)
public:
KaxTagMultiEntityAddress(const KaxTagMultiEntityAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiEntityAddress)
};
DECLARE_MKX_STRING(KaxTagMultiEntityURL)
public:
KaxTagMultiEntityURL(const KaxTagMultiEntityURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiEntityURL)
};
DECLARE_MKX_STRING(KaxTagMultiEntityEmail)
public:
KaxTagMultiEntityEmail(const KaxTagMultiEntityEmail & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiEntityEmail)
};
DECLARE_MKX_MASTER(KaxTagMultiIdentifier)
public:
KaxTagMultiIdentifier(const KaxTagMultiIdentifier & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiIdentifier)
};
DECLARE_MKX_MASTER(KaxTagIdentifier)
public:
KaxTagIdentifier(const KaxTagIdentifier & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagIdentifier)
};
DECLARE_MKX_UINTEGER(KaxTagMultiIdentifierType)
public:
KaxTagMultiIdentifierType(const KaxTagMultiIdentifierType & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiIdentifierType)
};
DECLARE_MKX_BINARY(KaxTagMultiIdentifierBinary)
public:
KaxTagMultiIdentifierBinary(const KaxTagMultiIdentifierBinary & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTagMultiIdentifierBinary)
};
DECLARE_MKX_UNISTRING(KaxTagMultiIdentifierString)
public:
KaxTagMultiIdentifierString(const KaxTagMultiIdentifierString & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiIdentifierString)
};
DECLARE_MKX_MASTER(KaxTagMultiLegal)
public:
KaxTagMultiLegal(const KaxTagMultiLegal & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiLegal)
};
DECLARE_MKX_MASTER(KaxTagLegal)
public:
KaxTagLegal(const KaxTagLegal & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagLegal)
};
DECLARE_MKX_UINTEGER(KaxTagMultiLegalType)
public:
KaxTagMultiLegalType(const KaxTagMultiLegalType & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiLegalType)
};
DECLARE_MKX_UNISTRING(KaxTagMultiLegalContent)
public:
KaxTagMultiLegalContent(const KaxTagMultiLegalContent & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiLegalContent)
};
DECLARE_MKX_STRING(KaxTagMultiLegalURL)
public:
KaxTagMultiLegalURL(const KaxTagMultiLegalURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiLegalURL)
};
DECLARE_MKX_UNISTRING(KaxTagMultiLegalAddress)
public:
KaxTagMultiLegalAddress(const KaxTagMultiLegalAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiLegalAddress)
};
DECLARE_MKX_MASTER(KaxTagMultiTitle)
public:
KaxTagMultiTitle(const KaxTagMultiTitle & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitle)
};
DECLARE_MKX_MASTER(KaxTagTitle)
public:
KaxTagTitle(const KaxTagTitle & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagTitle)
};
DECLARE_MKX_UINTEGER(KaxTagMultiTitleType)
public:
KaxTagMultiTitleType(const KaxTagMultiTitleType & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleType)
};
DECLARE_MKX_UNISTRING(KaxTagMultiTitleName)
public:
KaxTagMultiTitleName(const KaxTagMultiTitleName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleName)
};
DECLARE_MKX_UNISTRING(KaxTagMultiTitleSubTitle)
public:
KaxTagMultiTitleSubTitle(const KaxTagMultiTitleSubTitle & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleSubTitle)
};
DECLARE_MKX_UNISTRING(KaxTagMultiTitleEdition)
public:
KaxTagMultiTitleEdition(const KaxTagMultiTitleEdition & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleEdition)
};
DECLARE_MKX_UNISTRING(KaxTagMultiTitleAddress)
public:
KaxTagMultiTitleAddress(const KaxTagMultiTitleAddress & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleAddress)
};
DECLARE_MKX_STRING(KaxTagMultiTitleURL)
public:
KaxTagMultiTitleURL(const KaxTagMultiTitleURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleURL)
};
DECLARE_MKX_STRING(KaxTagMultiTitleEmail)
public:
KaxTagMultiTitleEmail(const KaxTagMultiTitleEmail & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleEmail)
};
DECLARE_MKX_STRING(KaxTagMultiTitleLanguage)
public:
KaxTagMultiTitleLanguage(const KaxTagMultiTitleLanguage & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiTitleLanguage)
};
DECLARE_MKX_MASTER(KaxTagMultiAttachment)
public:
KaxTagMultiAttachment(const KaxTagMultiAttachment & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagMultiAttachment)
};
DECLARE_MKX_MASTER(KaxTagAttachment)
public:
KaxTagAttachment(const KaxTagAttachment & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagAttachment)
};
DECLARE_MKX_UINTEGER(KaxTagAttachmentID)
public:
KaxTagAttachmentID(const KaxTagAttachmentID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTagAttachmentID)
};
#if 0
DECLARE_MKX_FLOAT(KaxTagBPM)
public:
EBML_CONCRETE_CLASS(KaxTagBPM)
};
public:};
DECLARE_MKX_SINTEGER(KaxTagPopularimeter)
public:
EBML_CONCRETE_CLASS(KaxTagPopularimeter)
};
public:};
DECLARE_MKX_BINARY(KaxTagRating)
public:
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTagRating)
};
DECLARE_MKX_UINTEGER(KaxTagSetPart)
EBML_CONCRETE_CLASS(KaxTagSetPart)
};
DECLARE_MKX_UINTEGER(KaxTagSetPart)};
DECLARE_MKX_STRING(KaxTagUserDefinedURL)
EBML_CONCRETE_CLASS(KaxTagUserDefinedURL)
};
DECLARE_MKX_STRING(KaxTagUserDefinedURL)};
DECLARE_MKX_BINARY(KaxTagVideoSecondaryGenre)
public:
bool ValidateSize() const {return (Size >= 4);}
EBML_CONCRETE_CLASS(KaxTagVideoSecondaryGenre)
};
DECLARE_MKX_UNISTRING(KaxWritingApp)
EBML_CONCRETE_CLASS(KaxWritingApp)
};
DECLARE_MKX_UNISTRING(KaxWritingApp)};
#endif
END_LIBMATROSKA_NAMESPACE

View File

@ -46,8 +46,6 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxTags)
public:
KaxTags(const KaxTags & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTags)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -49,29 +49,21 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxTrackAudio)
public:
KaxTrackAudio(const KaxTrackAudio & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackAudio)
};
DECLARE_MKX_FLOAT(KaxAudioSamplingFreq)
public:
KaxAudioSamplingFreq(const KaxAudioSamplingFreq & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxAudioSamplingFreq)
};
DECLARE_MKX_FLOAT(KaxAudioOutputSamplingFreq)
public:
KaxAudioOutputSamplingFreq(const KaxAudioOutputSamplingFreq & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxAudioOutputSamplingFreq)
};
DECLARE_MKX_UINTEGER(KaxAudioChannels)
public:
KaxAudioChannels(const KaxAudioChannels & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxAudioChannels)
};
#if MATROSKA_VERSION >= 2
@ -79,16 +71,12 @@ DECLARE_MKX_BINARY(KaxAudioPosition)
public:
KaxAudioPosition(const KaxAudioPosition & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize(void) const {return true;}
EBML_CONCRETE_CLASS(KaxAudioPosition)
};
};
#endif // MATROSKA_VERSION
DECLARE_MKX_UINTEGER(KaxAudioBitDepth)
public:
KaxAudioBitDepth(const KaxAudioBitDepth & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxAudioBitDepth)
};
END_LIBMATROSKA_NAMESPACE

View File

@ -52,196 +52,142 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_UINTEGER(KaxTrackNumber)
public:
KaxTrackNumber(const KaxTrackNumber & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackNumber)
};
DECLARE_MKX_UINTEGER(KaxTrackUID)
public:
KaxTrackUID(const KaxTrackUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackUID)
};
DECLARE_MKX_UINTEGER(KaxTrackType)
public:
KaxTrackType(const KaxTrackType & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackType)
};
#if MATROSKA_VERSION >= 2
DECLARE_MKX_UINTEGER(KaxTrackFlagEnabled)
public:
KaxTrackFlagEnabled(const KaxTrackFlagEnabled & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackFlagEnabled)
};
#endif // MATROSKA_VERSION
DECLARE_MKX_UINTEGER(KaxTrackFlagDefault)
public:
KaxTrackFlagDefault(const KaxTrackFlagDefault & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackFlagDefault)
};
DECLARE_MKX_UINTEGER(KaxTrackFlagForced)
public:
KaxTrackFlagForced(const KaxTrackFlagForced & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackFlagForced)
};
DECLARE_MKX_UINTEGER(KaxTrackFlagLacing)
public:
KaxTrackFlagLacing(const KaxTrackFlagLacing & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackFlagLacing)
};
DECLARE_MKX_UINTEGER(KaxTrackMinCache)
public:
KaxTrackMinCache(const KaxTrackMinCache & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackMinCache)
};
DECLARE_MKX_UINTEGER(KaxTrackMaxCache)
public:
KaxTrackMaxCache(const KaxTrackMaxCache & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackMaxCache)
};
DECLARE_MKX_UINTEGER(KaxTrackDefaultDuration)
public:
KaxTrackDefaultDuration(const KaxTrackDefaultDuration & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackDefaultDuration)
};
DECLARE_MKX_FLOAT(KaxTrackTimecodeScale)
public:
KaxTrackTimecodeScale(const KaxTrackTimecodeScale & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackTimecodeScale)
};
DECLARE_MKX_UINTEGER(KaxMaxBlockAdditionID)
public:
KaxMaxBlockAdditionID(const KaxMaxBlockAdditionID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxMaxBlockAdditionID)
};
DECLARE_MKX_UNISTRING(KaxTrackName)
public:
KaxTrackName(const KaxTrackName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackName)
};
DECLARE_MKX_STRING(KaxTrackLanguage)
public:
KaxTrackLanguage(const KaxTrackLanguage & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackLanguage)
};
DECLARE_MKX_STRING(KaxCodecID)
public:
KaxCodecID(const KaxCodecID & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCodecID)
};
DECLARE_MKX_BINARY(KaxCodecPrivate)
public:
KaxCodecPrivate(const KaxCodecPrivate & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxCodecPrivate)
};
DECLARE_MKX_UNISTRING(KaxCodecName)
public:
KaxCodecName(const KaxCodecName & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCodecName)
};
DECLARE_MKX_BINARY(KaxTrackAttachmentLink)
public:
KaxTrackAttachmentLink(const KaxTrackAttachmentLink & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const {return true;} // we don't mind about what's inside
EBML_CONCRETE_CLASS(KaxTrackAttachmentLink)
};
DECLARE_MKX_UINTEGER(KaxTrackOverlay)
public:
KaxTrackOverlay(const KaxTrackOverlay & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackOverlay)
};
DECLARE_MKX_MASTER(KaxTrackTranslate)
public:
KaxTrackTranslate(const KaxTrackTranslate & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackTranslate)
};
DECLARE_MKX_UINTEGER(KaxTrackTranslateCodec)
public:
KaxTrackTranslateCodec(const KaxTrackTranslateCodec & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackTranslateCodec)
};
DECLARE_MKX_UINTEGER(KaxTrackTranslateEditionUID)
public:
KaxTrackTranslateEditionUID(const KaxTrackTranslateEditionUID & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackTranslateEditionUID)
};
DECLARE_MKX_BINARY(KaxTrackTranslateTrackID)
public:
KaxTrackTranslateTrackID(const KaxTrackTranslateTrackID & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize() const { return true;}
EBML_CONCRETE_CLASS(KaxTrackTranslateTrackID)
};
#if MATROSKA_VERSION >= 2
DECLARE_MKX_UNISTRING(KaxCodecSettings)
public:
KaxCodecSettings(const KaxCodecSettings & ElementToClone) :EbmlUnicodeString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCodecSettings)
};
DECLARE_MKX_STRING(KaxCodecInfoURL)
public:
KaxCodecInfoURL(const KaxCodecInfoURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCodecInfoURL)
};
DECLARE_MKX_STRING(KaxCodecDownloadURL)
public:
KaxCodecDownloadURL(const KaxCodecDownloadURL & ElementToClone) :EbmlString(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCodecDownloadURL)
};
DECLARE_MKX_UINTEGER(KaxCodecDecodeAll)
public:
KaxCodecDecodeAll(const KaxCodecDecodeAll & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxCodecDecodeAll)
};
#endif // MATROSKA_VERSION

View File

@ -49,95 +49,69 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxTrackVideo)
public:
KaxTrackVideo(const KaxTrackVideo & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTrackVideo)
};
#if MATROSKA_VERSION >= 2
DECLARE_MKX_UINTEGER(KaxVideoFlagInterlaced)
public:
KaxVideoFlagInterlaced(const KaxVideoFlagInterlaced & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoFlagInterlaced)
};
DECLARE_MKX_UINTEGER(KaxVideoStereoMode)
public:
KaxVideoStereoMode(const KaxVideoStereoMode & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoStereoMode)
};
#endif // MATROSKA_VERSION
DECLARE_MKX_UINTEGER(KaxVideoPixelWidth)
public:
KaxVideoPixelWidth(const KaxVideoPixelWidth & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoPixelWidth)
};
DECLARE_MKX_UINTEGER(KaxVideoPixelHeight)
public:
KaxVideoPixelHeight(const KaxVideoPixelHeight & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoPixelHeight)
};
DECLARE_MKX_UINTEGER(KaxVideoPixelCropBottom)
public:
KaxVideoPixelCropBottom(const KaxVideoPixelCropBottom & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoPixelCropBottom)
};
DECLARE_MKX_UINTEGER(KaxVideoPixelCropTop)
public:
KaxVideoPixelCropTop(const KaxVideoPixelCropTop & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoPixelCropTop)
};
DECLARE_MKX_UINTEGER(KaxVideoPixelCropLeft)
public:
KaxVideoPixelCropLeft(const KaxVideoPixelCropLeft & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoPixelCropLeft)
};
DECLARE_MKX_UINTEGER(KaxVideoPixelCropRight)
public:
KaxVideoPixelCropRight(const KaxVideoPixelCropRight & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoPixelCropRight)
};
DECLARE_MKX_UINTEGER(KaxVideoDisplayWidth)
public:
KaxVideoDisplayWidth(const KaxVideoDisplayWidth & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoDisplayWidth)
};
DECLARE_MKX_UINTEGER(KaxVideoDisplayHeight)
public:
KaxVideoDisplayHeight(const KaxVideoDisplayHeight & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoDisplayHeight)
};
#if MATROSKA_VERSION >= 2
DECLARE_MKX_UINTEGER(KaxVideoDisplayUnit)
public:
KaxVideoDisplayUnit(const KaxVideoDisplayUnit & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoDisplayUnit)
};
DECLARE_MKX_UINTEGER(KaxVideoAspectRatio)
public:
KaxVideoAspectRatio(const KaxVideoAspectRatio & ElementToClone) :EbmlUInteger(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoAspectRatio)
};
#endif // MATROSKA_VERSION
@ -145,16 +119,12 @@ DECLARE_MKX_BINARY(KaxVideoColourSpace)
public:
KaxVideoColourSpace(const KaxVideoColourSpace & ElementToClone) :EbmlBinary(ElementToClone){}
bool ValidateSize(void) const {return (GetSize() == 4);}
EBML_CONCRETE_CLASS(KaxVideoColourSpace)
};
#if MATROSKA_VERSION >= 2
DECLARE_MKX_FLOAT(KaxVideoGamma)
public:
KaxVideoGamma(const KaxVideoGamma & ElementToClone) :EbmlFloat(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxVideoGamma)
};
#endif // MATROSKA_VERSION
@ -162,8 +132,6 @@ DECLARE_MKX_FLOAT(KaxVideoFrameRate)
public:
KaxVideoFrameRate(const KaxVideoFrameRate & ElementToClone) :EbmlFloat(ElementToClone) {}
filepos_t RenderData(IOCallback & output, bool bForceRender, bool bSaveDefault);
EBML_CONCRETE_CLASS(KaxVideoFrameRate)
};

View File

@ -48,8 +48,6 @@ START_LIBMATROSKA_NAMESPACE
DECLARE_MKX_MASTER(KaxTracks)
public:
KaxTracks(const KaxTracks & ElementToClone) :EbmlMaster(ElementToClone) {}
EBML_CONCRETE_CLASS(KaxTracks)
};
DECLARE_MKX_MASTER(KaxTrackEntry)
@ -80,8 +78,6 @@ DECLARE_MKX_MASTER(KaxTrackEntry)
protected:
bool bGlobalTimecodeScaleIsSet;
uint64 mGlobalTimecodeScale;
EBML_CONCRETE_CLASS(KaxTrackEntry)
};
END_LIBMATROSKA_NAMESPACE