[matroska] r1226 - trunk/libmatroska/src

[email protected] Fri, 14 Oct 2005 01:16:45 +0400 (MSD)
Newsgroups gmane.comp.multimedia.matroska.cvs
Message-ID <[email protected]>
Author: robux4
Date: 2005-10-14 01:16:43 +0400 (Fri, 14 Oct 2005)
New Revision: 1226

Modified:
   trunk/libmatroska/src/KaxBlockData.cpp
   trunk/libmatroska/src/KaxCues.cpp
Log:
libmatroska: make the newer library work with older code (again after internal changes)

Modified: trunk/libmatroska/src/KaxBlockData.cpp
===================================================================
--- trunk/libmatroska/src/KaxBlockData.cpp	2005-10-13 20:35:17 UTC (rev 1225)
+++ trunk/libmatroska/src/KaxBlockData.cpp	2005-10-13 21:16:43 UTC (rev 1226)
@@ -129,7 +129,7 @@
 
 void KaxReferenceBlock::SetReferencedBlock(const KaxBlockGroup & aRefdBlock)
 {
-	KaxBlockBlob *block_blob = new KaxBlockBlob(BLOCK_BLOB_SIMPLE_AUTO);
+	KaxBlockBlob *block_blob = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE);
 	block_blob->SetBlockGroup(*const_cast<KaxBlockGroup*>(&aRefdBlock));
 	RefdBlock = block_blob; 
 	bValueIsSet = true;

Modified: trunk/libmatroska/src/KaxCues.cpp
===================================================================
--- trunk/libmatroska/src/KaxCues.cpp	2005-10-13 20:35:17 UTC (rev 1225)
+++ trunk/libmatroska/src/KaxCues.cpp	2005-10-13 21:16:43 UTC (rev 1226)
@@ -63,7 +63,7 @@
 {
 	// Do not add the element if it's already present.
 	std::vector<const KaxBlockBlob *>::iterator ListIdx;
-	KaxBlockBlob &BlockReference = *(new KaxBlockBlob(BLOCK_BLOB_SIMPLE_AUTO));
+	KaxBlockBlob &BlockReference = *(new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE));
 	BlockReference.SetBlockGroup(*const_cast<KaxBlockGroup*>(&BlockRef));
 
 	for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ListIdx++)
@@ -108,11 +108,13 @@
 {
 	// look for the element in the temporary references
 	std::vector<const KaxBlockBlob *>::iterator ListIdx;
-	KaxBlockBlob &BlockReference = *(new KaxBlockBlob(BLOCK_BLOB_SIMPLE_AUTO));
+	KaxBlockBlob &BlockReference = *(new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE));
 	BlockReference.SetBlockGroup(*const_cast<KaxBlockGroup*>(&BlockRef));
 
 	for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ListIdx++) {
-		if (*ListIdx == &BlockReference) {
+		const KaxInternalBlock &refTmp = **ListIdx;
+		if (refTmp.GlobalTimecode() == BlockRef.GlobalTimecode() &&
+			refTmp.TrackNum() == BlockRef.TrackNumber()) {
 			// found, now add the element to the entry list
 			KaxCuePoint & NewPoint = AddNewChild<KaxCuePoint>(*this);
 			const KaxInternalBlock &intblock = BlockReference;