libmatroska: add KaxTrackDependency and related elements for combined stereo/3D tracks

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@480 a6f86f6d-0131-4f8e-9e7b-e335508773d5
This commit is contained in:
Steve Lhomme 2010-08-07 09:42:47 +00:00
parent 5ebfbd2cda
commit 72abb5578e
3 changed files with 220 additions and 181 deletions

View File

@ -1,10 +1,11 @@
2010-07-xx robux4 2010-08-xx robux4
New 1.1.0 version: New 1.1.0 version:
- give access to the SetParent to KaxSimpleBlock as well - give access to the SetParent to KaxSimpleBlock as well
- change the placement of a MATROSKA_DLL_API so that it actually works - change the placement of a MATROSKA_DLL_API so that it actually works
- remove all references to the old/outdated/previous tag system - remove all references to the old/outdated/previous tag system
- add the possibility for a DataBuffer class to use its own internal memory - add the possibility for a DataBuffer class to use its own internal memory
- KaxCues::AddBlockGroup() was removed as it's broken beyond repair - KaxCues::AddBlockGroup() was removed as it's broken beyond repair
- add KaxTrackDependency and related elements for combined stereo/3D tracks
2010-06-04 robux4/mosu 2010-06-04 robux4/mosu
New 1.0.0 version: New 1.0.0 version:

View File

@ -76,6 +76,23 @@ DECLARE_MKX_MASTER(KaxTrackEntry)
uint64 mGlobalTimecodeScale; uint64 mGlobalTimecodeScale;
}; };
#if MATROSKA_VERSION >= 2
DECLARE_MKX_MASTER(KaxTrackDependency)
};
DECLARE_MKX_UINTEGER(KaxTrackDependencyType)
};
DECLARE_MKX_MASTER(KaxTrackDependencyItem)
};
DECLARE_MKX_UINTEGER(KaxTrackDependencyUID)
};
DECLARE_MKX_UINTEGER(KaxTrackDependencyStereoPos)
};
#endif
END_LIBMATROSKA_NAMESPACE END_LIBMATROSKA_NAMESPACE
#endif // LIBMATROSKA_TRACKS_H #endif // LIBMATROSKA_TRACKS_H

View File

@ -46,6 +46,9 @@ START_LIBMATROSKA_NAMESPACE
DEFINE_START_SEMANTIC(KaxTracks) DEFINE_START_SEMANTIC(KaxTracks)
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackEntry) DEFINE_SEMANTIC_ITEM(true, false, KaxTrackEntry)
#if MATROSKA_VERSION >= 2
DEFINE_SEMANTIC_ITEM(false, false, KaxTrackDependency)
#endif
DEFINE_END_SEMANTIC(KaxTracks) DEFINE_END_SEMANTIC(KaxTracks)
DEFINE_START_SEMANTIC(KaxTrackEntry) DEFINE_START_SEMANTIC(KaxTrackEntry)
@ -85,6 +88,24 @@ DEFINE_END_SEMANTIC(KaxTrackEntry)
DEFINE_MKX_MASTER (KaxTracks, 0x1654AE6B, 4, KaxSegment, "Tracks"); DEFINE_MKX_MASTER (KaxTracks, 0x1654AE6B, 4, KaxSegment, "Tracks");
DEFINE_MKX_MASTER_CONS(KaxTrackEntry, 0xAE, 1, KaxTracks, "TrackEntry"); DEFINE_MKX_MASTER_CONS(KaxTrackEntry, 0xAE, 1, KaxTracks, "TrackEntry");
#if MATROSKA_VERSION >= 2
DEFINE_START_SEMANTIC(KaxTrackDependency)
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackDependencyType)
DEFINE_SEMANTIC_ITEM(true, false, KaxTrackDependencyItem)
DEFINE_END_SEMANTIC(KaxTrackDependency)
DEFINE_START_SEMANTIC(KaxTrackDependencyItem)
DEFINE_SEMANTIC_ITEM(true, true, KaxTrackDependencyUID)
DEFINE_SEMANTIC_ITEM(false, true, KaxTrackDependencyStereoPos)
DEFINE_END_SEMANTIC(KaxTrackDependencyItem)
DEFINE_MKX_MASTER (KaxTrackDependency, 0xE2, 1, KaxTracks, "TrackDependency");
DEFINE_MKX_UINTEGER(KaxTrackDependencyType, 0xE3, 1, KaxTrackDependency, "TrackDependencyType");
DEFINE_MKX_MASTER (KaxTrackDependencyItem, 0xE4, 1, KaxTrackDependency, "TrackDependencyItem");
DEFINE_MKX_UINTEGER(KaxTrackDependencyUID, 0xE5, 1, KaxTrackDependencyItem, "TrackDependencyUID");
DEFINE_MKX_UINTEGER(KaxTrackDependencyStereoPos, 0xE9, 1, KaxTrackDependencyItem, "TrackDependencyStereoPos");
#endif
KaxTrackEntry::KaxTrackEntry(EBML_EXTRA_DEF) KaxTrackEntry::KaxTrackEntry(EBML_EXTRA_DEF)
:EbmlMaster(EBML_CLASS_SEMCONTEXT(KaxTrackEntry) EBML_DEF_SEP EBML_EXTRA_CALL) :EbmlMaster(EBML_CLASS_SEMCONTEXT(KaxTrackEntry) EBML_DEF_SEP EBML_EXTRA_CALL)
,bGlobalTimecodeScaleIsSet(false) ,bGlobalTimecodeScaleIsSet(false)