libmatroska: KaxCues::AddBlockGroup() was removed as it's broken beyond repair
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@453 a6f86f6d-0131-4f8e-9e7b-e335508773d5
This commit is contained in:
parent
2be628cfe9
commit
5ebfbd2cda
@ -4,6 +4,7 @@ New 1.1.0 version:
|
||||
- change the placement of a MATROSKA_DLL_API so that it actually works
|
||||
- remove all references to the old/outdated/previous tag system
|
||||
- add the possibility for a DataBuffer class to use its own internal memory
|
||||
- KaxCues::AddBlockGroup() was removed as it's broken beyond repair
|
||||
|
||||
2010-06-04 robux4/mosu
|
||||
New 1.0.0 version:
|
||||
|
@ -312,6 +312,7 @@ class MATROSKA_DLL_API KaxSimpleBlock : public KaxInternalBlock {
|
||||
};
|
||||
#endif // MATROSKA_VERSION
|
||||
|
||||
/// Placeholder class for either a BlockGroup or a SimpleBlock
|
||||
class MATROSKA_DLL_API KaxBlockBlob {
|
||||
public:
|
||||
KaxBlockBlob(BlockBlobType sblock_mode) :ParentCluster(NULL), SimpleBlockMode(sblock_mode) {
|
||||
|
@ -51,7 +51,7 @@ DECLARE_MKX_MASTER(KaxCues)
|
||||
public:
|
||||
~KaxCues();
|
||||
|
||||
bool AddBlockGroup(const KaxBlockGroup & BlockReference);
|
||||
//bool AddBlockGroup(const KaxBlockGroup & BlockReference); // deprecated
|
||||
bool AddBlockBlob(const KaxBlockBlob & BlockReference);
|
||||
|
||||
/*!
|
||||
|
@ -51,22 +51,25 @@ KaxCues::~KaxCues()
|
||||
{
|
||||
assert(myTempReferences.size() == 0); // otherwise that means you have added references and forgot to set the position
|
||||
}
|
||||
|
||||
/* deprecated and wrong
|
||||
bool KaxCues::AddBlockGroup(const KaxBlockGroup & BlockRef)
|
||||
{
|
||||
// Do not add the element if it's already present.
|
||||
std::vector<const KaxBlockBlob *>::iterator ListIdx;
|
||||
KaxBlockBlob &BlockReference = *(new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE));
|
||||
BlockReference.SetBlockGroup(*const_cast<KaxBlockGroup*>(&BlockRef));
|
||||
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)
|
||||
if (&(KaxBlockGroup&)*ListIdx == &BlockRef)
|
||||
{
|
||||
delete BlockReference;
|
||||
return true;
|
||||
}
|
||||
|
||||
myTempReferences.push_back(&BlockReference);
|
||||
myTempReferences.push_back(BlockReference);
|
||||
return true;
|
||||
}
|
||||
|
||||
*/
|
||||
bool KaxCues::AddBlockBlob(const KaxBlockBlob & BlockReference)
|
||||
{
|
||||
// Do not add the element if it's already present.
|
||||
|
@ -252,13 +252,17 @@ int main(int argc, char **argv)
|
||||
Clust1.AddFrame(MyTrack2, 23 * TIMECODE_SCALE, *data5, MyNewBlock); // to test with another track
|
||||
|
||||
// add the "real" block to the cue entries
|
||||
AllCues.AddBlockGroup(*MyLastBlockTrk1);
|
||||
KaxBlockBlob *Blob1 = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE);
|
||||
Blob1->SetBlockGroup(*MyLastBlockTrk1);
|
||||
AllCues.AddBlockBlob(*Blob1);
|
||||
|
||||
// frame for Track 2
|
||||
DataBuffer *data8 = new DataBuffer((binary *)"tttyyy", countof("tttyyy"));
|
||||
Clust1.AddFrame(MyTrack2, 107 * TIMECODE_SCALE, *data8, MyNewBlock, *MyLastBlockTrk2);
|
||||
|
||||
AllCues.AddBlockGroup(*MyNewBlock);
|
||||
KaxBlockBlob *Blob2 = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE);
|
||||
Blob2->SetBlockGroup(*MyNewBlock);
|
||||
AllCues.AddBlockBlob(*Blob2);
|
||||
|
||||
// frame with a past reference
|
||||
DataBuffer *data4 = new DataBuffer((binary *)"tttyyy", countof("tttyyy"));
|
||||
@ -275,7 +279,9 @@ int main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
AllCues.AddBlockGroup(*MyLastBlockTrk1);
|
||||
KaxBlockBlob *Blob3 = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE);
|
||||
Blob3->SetBlockGroup(*MyLastBlockTrk1);
|
||||
AllCues.AddBlockBlob(*Blob3);
|
||||
//AllCues.UpdateSize();
|
||||
|
||||
// simulate the writing of the stream :
|
||||
@ -295,7 +301,9 @@ int main(int argc, char **argv)
|
||||
DataBuffer *data2 = new DataBuffer((binary *)"tttyyy", countof("tttyyy"));
|
||||
Clust2.AddFrame(MyTrack1, 350 * TIMECODE_SCALE, *data2, MyNewBlock, *MyLastBlockTrk1);
|
||||
|
||||
AllCues.AddBlockGroup(*MyNewBlock);
|
||||
KaxBlockBlob *Blob4 = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE);
|
||||
Blob4->SetBlockGroup(*MyNewBlock);
|
||||
AllCues.AddBlockBlob(*Blob4);
|
||||
|
||||
ClusterSize += Clust2.Render(out_file, AllCues, bWriteDefaultValues);
|
||||
Clust2.ReleaseFrames();
|
||||
@ -383,6 +391,11 @@ int main(int argc, char **argv)
|
||||
MuxedFile.Close(1000); // 1000 ms
|
||||
#endif // OLD
|
||||
out_file.close();
|
||||
|
||||
delete Blob1;
|
||||
delete Blob2;
|
||||
delete Blob3;
|
||||
delete Blob4;
|
||||
}
|
||||
catch (exception & Ex)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user