本文整理汇总了C++中CAAFBuiltinDefs::cdFiller方法的典型用法代码示例。如果您正苦于以下问题:C++ CAAFBuiltinDefs::cdFiller方法的具体用法?C++ CAAFBuiltinDefs::cdFiller怎么用?C++ CAAFBuiltinDefs::cdFiller使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAAFBuiltinDefs
的用法示例。
在下文中一共展示了CAAFBuiltinDefs::cdFiller方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateAAFSequence
static HRESULT CreateAAFSequence(IAAFDictionary *pDictionary,
IAAFSequence** ppSequence)
{
IAAFSequence* pSequence = NULL;
HRESULT hr = S_OK;
aafUInt32 i;
CAAFBuiltinDefs defs (pDictionary);
hr = defs.cdSequence()->
CreateInstance(IID_IAAFSequence,
(IUnknown **)&pSequence);
if (SUCCEEDED(hr))
{
pSequence->Initialize(defs.ddkAAFSound());
//
// Add some segments. Need to test failure conditions
// (i.e. starting/ending w/ transition, two trans back
// to bacl).
//
for(i = 0; i < kNumComponents; i++)
{
IAAFComponent* pComponent = NULL;
aafLength_t len = 10;
hr = defs.cdFiller()->
CreateInstance(IID_IAAFComponent,
(IUnknown **)&pComponent);
if (FAILED(hr))
break;
pComponent->SetDataDef(defs.ddkAAFSound());
pComponent->SetLength(len);
hr = pSequence->AppendComponent(pComponent);
pComponent->Release();
pComponent = NULL;
if (FAILED(hr))
break;
}
}
if (SUCCEEDED(hr))
{
*ppSequence = pSequence;
}
else
{
pSequence->Release();
*ppSequence = NULL;
}
return hr;
}
示例2: CreateAAFFile
//.........这里部分代码省略.........
CreateInstance(IID_IAAFCompositionMob,
(IUnknown **)&pCompMob));
checkResult(pCompMob->Initialize(L"Transition Test"));
// Get a MOB interface
checkResult(pCompMob->QueryInterface (IID_IAAFMob, (void **)&pMob));
checkResult(pMob->SetMobID(TEST_MobID));
// Create a Sequence
checkResult(defs.cdSequence()->
CreateInstance(IID_IAAFSequence,
(IUnknown **) &pSequence));
// Get a Segment interface
checkResult(pSequence->QueryInterface(IID_IAAFSegment, (void **)&pSegment));
// Get a component interface and
checkResult(pSequence->QueryInterface(IID_IAAFComponent, (void **)&pComponent));
// set the Data definition for it !
checkResult(pComponent->SetDataDef(defs.ddkAAFPicture()));
// Release the component - because we need to reuse the pointer later
pComponent->Release();
pComponent = NULL;
// Create a new Mob Slot that will contain the sequence
aafRational_t editRate = { 0, 1};
checkResult(pMob->AppendNewTimelineSlot(editRate,
pSegment,
1,
L"Transition",
0,
&pNewSlot));
// Create a Filler
checkResult(defs.cdFiller()->
CreateInstance(IID_IAAFFiller,
(IUnknown **) &pFiller));
// Get a component interface
checkResult(pFiller->QueryInterface(IID_IAAFComponent, (void **) &pComponent));
// Set values for the filler
checkResult(pFiller->Initialize(defs.ddkAAFPicture(), fillerLength));
// append the filler to the sequence
checkResult(pSequence->AppendComponent(pComponent));
// Release the component - because we need to reuse the pointer later
pFiller->Release();
pFiller = NULL;
pComponent->Release();
pComponent = NULL;
checkResult(defs.cdTransition()->
CreateInstance(IID_IAAFTransition,
(IUnknown **)&pTransition));
// Create an empty EffectGroup object !!
checkResult(defs.cdOperationGroup()->
CreateInstance(IID_IAAFOperationGroup,
(IUnknown **)&pOperationGroup));
checkResult(pOperationGroup->Initialize(defs.ddkAAFPicture(), transitionLength, pOperationDef));
// Create a constant value parameter.
checkResult(defs.cdConstantValue()->
CreateInstance(IID_IAAFConstantValue,
(IUnknown **)&pConstantValue));
示例3: CreateAAFFile
//.........这里部分代码省略.........
checkResult(pOperationDef->Initialize (effectID, TEST_EFFECT_NAME, TEST_EFFECT_DESC));
checkResult(pDictionary->RegisterOperationDef (pOperationDef));
checkResult(pDictionary->RegisterParameterDef (pParamDef));
checkResult(pDictionary->RegisterInterpolationDef (pInterpDef));
checkResult(pOperationDef->SetDataDef (defs.ddkAAFPicture()));
checkResult(pOperationDef->SetIsTimeWarp (kAAFFalse));
checkResult(pOperationDef->SetNumberInputs (TEST_NUM_INPUTS));
checkResult(pOperationDef->SetCategory (TEST_CATEGORY));
checkResult(pOperationDef->AddParameterDef (pParamDef));
checkResult(pOperationDef->SetBypass (TEST_BYPASS));
checkResult(pParamDef->SetDisplayUnits(TEST_PARAM_UNITS));
//Make the first mob
long test;
aafRational_t videoRate = { 2997, 100 };
// Create a Mob
checkResult(defs.cdCompositionMob()->
CreateInstance(IID_IAAFMob,
(IUnknown **)&pMob));
checkResult(pMob->SetName(L"AAFOperationGroupTest"));
// Add some slots
for(test = 0; test < 2; test++)
{
checkResult(defs.cdOperationGroup()->
CreateInstance(IID_IAAFOperationGroup,
(IUnknown **)&pOperationGroup));
checkResult(defs.cdFiller()->
CreateInstance(IID_IAAFSegment,
(IUnknown **)&pFiller));
checkResult(pFiller->QueryInterface (IID_IAAFComponent, (void **)&pComponent));
checkResult(pComponent->SetLength(effectLen));
CAAFBuiltinDefs defs(pDictionary);
checkResult(pComponent->SetDataDef(defs.ddkAAFPicture()));
checkResult(pOperationGroup->Initialize(defs.ddkAAFPicture(), TEST_EFFECT_LEN, pOperationDef));
checkResult(defs.cdVaryingValue()->
CreateInstance(IID_IAAFVaryingValue,
(IUnknown **)&pVaryingValue));
checkResult(pVaryingValue->Initialize (pParamDef, pInterpDef));
checkResult(defs.cdControlPoint()->
CreateInstance(IID_IAAFControlPoint,
(IUnknown **)&pControlPoint));
checkResult(pControlPoint->Initialize (pVaryingValue, testTime1, sizeof(testLevel1), (aafDataBuffer_t)&testLevel1));
checkResult(pControlPoint->SetEditHint(kAAFRelativeLeft));
checkResult(pVaryingValue->AddControlPoint(pControlPoint));
pControlPoint->Release();
pControlPoint = NULL;
checkResult(defs.cdControlPoint()->
CreateInstance(IID_IAAFControlPoint,
(IUnknown **)&pControlPoint));
checkResult(pControlPoint->Initialize (pVaryingValue, testTime2, sizeof(testLevel2), (aafDataBuffer_t)&testLevel2));
checkResult(pControlPoint->SetEditHint(kAAFProportional));
checkResult(pVaryingValue->AddControlPoint(pControlPoint));
pControlPoint->Release();
pControlPoint = NULL;
checkResult(pVaryingValue->QueryInterface (IID_IAAFParameter, (void **)&pParm));
checkResult(pOperationGroup->AddParameter (pParm));
示例4: CreateAAFFile
static HRESULT CreateAAFFile(
aafWChar * pFileName,
aafUID_constref fileKind,
testRawStorageType_t rawStorageType,
aafProductIdentification_constref productID)
{
IAAFFileSP pFile;
IAAFHeaderSP pHeader;
IAAFDictionarySP pDictionary;
IAAFMobSP pMob;
IAAFTimelineMobSlotSP pMobSlot;
IAAFSequenceSP pSequence;
IAAFSegmentSP pSegment;
IAAFComponentSP pComponent;
int i;
HRESULT hr = S_OK;
try
{
// Remove the previous test file if any.
RemoveTestFile(pFileName);
// Create the AAF file
checkResult(CreateTestFile( pFileName, fileKind, rawStorageType, productID, &pFile ));
// Get the AAF file header.
checkResult(pFile->GetHeader(&pHeader));
// Get the AAF Dictionary so that we can create valid AAF objects.
checkResult(pHeader->GetDictionary(&pDictionary));
// Create a new class, and register it in the dictionary.
RegisterNewClass (pDictionary);
CAAFBuiltinDefs defs (pDictionary);
// Create a Composition Mob
checkResult(defs.cdCompositionMob()->
CreateInstance(IID_IAAFMob,
(IUnknown **)&pMob));
checkResult(pMob->SetMobID(TEST_MobID));
checkResult(pMob->SetName(L"AAFDictionaryTest"));
// Add mob slot w/ Sequence
checkResult(defs.cdSequence()->
CreateInstance(IID_IAAFSequence,
(IUnknown **)&pSequence));
checkResult(pSequence->Initialize(defs.ddkAAFPicture()));
//
// Add some segments. Need to test failure conditions
// (i.e. starting/ending w/ transition, two trans back
// to back).
//
for(i = 0; i < kNumComponents; i++)
{
aafLength_t len = 10;
// For the first component, make it our extended filler.
if(i == 0)
{
IAAFClassDefSP pNewFillClassDef;
checkResult(pDictionary->LookupClassDef(kClassAUID_NewFill,
&pNewFillClassDef));
checkResult
(pNewFillClassDef->CreateInstance(IID_IAAFComponent,
(IUnknown**)&pComponent));
checkResult(pComponent->SetDataDef(defs.ddkAAFPictureWithMatte()));
}
else
{
checkResult
(defs.cdFiller()->CreateInstance(IID_IAAFComponent,
(IUnknown**)&pComponent));
checkResult(pComponent->SetDataDef(defs.ddkAAFPicture()));
}
checkResult(pComponent->SetLength(len));
checkResult(pSequence->AppendComponent(pComponent));
// For our first component, set the 'odor' value. Must be
// done after the component has been inserted in sequence.
if (i == 0)
{
// Set the odor value.
//
// 1) Get type def for uint32
IAAFTypeDefSP ptd;
checkResult (pDictionary->LookupTypeDef (kAAFTypeID_UInt32,
&ptd));
assert (ptd);
IAAFTypeDefIntSP pTDUint32;
checkResult(ptd->QueryInterface (IID_IAAFTypeDefInt,
(void **)&pTDUint32));
assert (pTDUint32);
// 2) Create a property value for the odor property, and
//.........这里部分代码省略.........
示例5: CreateAAFFile
static HRESULT CreateAAFFile(
aafWChar * pFileName,
aafUID_constref fileKind,
testRawStorageType_t rawStorageType,
aafProductIdentification_constref productID)
{
HRESULT hr = AAFRESULT_SUCCESS;
IAAFFile* pFile = NULL;
IAAFHeader * pHeader = NULL;
IAAFDictionary * pDict = NULL;
try
{
//Do the usual ...
RemoveTestFile (pFileName);
checkResult (CreateTestFile( pFileName, fileKind, rawStorageType, productID, &pFile ));
assert (pFile);
checkResult (pFile->GetHeader (&pHeader));
assert (pHeader);
checkResult (pHeader->GetDictionary (&pDict));
assert (pDict);
CAAFBuiltinDefs defs (pDict);
///////////////////////
//checkResult(createCHARType (pDict));
checkResult(addCHARTypeToComponent (pDict));
///////////
//Create a concrete subclass of mob
IAAFMobSP spMob;
checkResult(defs.cdMasterMob()->
CreateInstance(IID_IAAFMob,
(IUnknown **)&spMob));
checkResult(spMob->SetMobID(TEST_MobID));
checkResult(spMob->SetName(L"Some Mob"));
//Add a slot - make it our Filler
/// first, create Filler
IAAFFillerSP spFill;
checkResult(defs.cdFiller()->CreateInstance(IID_IAAFFiller, (IUnknown**)&spFill));
checkResult(spFill->Initialize(defs.ddkAAFSound(), 10));
checkResult(createCHARFiller(pDict, spFill));
//seg
//QI the filler for its segment
IAAFSegmentSP spSeg;
checkResult(spFill->QueryInterface (IID_IAAFSegment, (void **)&spSeg));
//Create a concrete subclass of mob slot
IAAFMobSlotSP spMobSlot;
checkResult(defs.cdStaticMobSlot()->
CreateInstance(IID_IAAFMobSlot,
(IUnknown **)&spMobSlot));
//Add the segment to the mobslot
checkResult(spMobSlot->SetSegment(spSeg));
checkResult(spMobSlot->SetSlotID(TEST_SLOT_ID));
checkResult(spMobSlot->SetName(TEST_SLOT_NAME));
//Append the slot to the Mob ....
checkResult(spMob->AppendSlot (spMobSlot));
//FINALLY .... Add mob to header
checkResult (pHeader->AddMob (spMob));
//////////////////// done /!!!!!!!!!!!!!!!!!!!!!!
//Verify results right away (during this creation process) ....
checkResult(verifyContents (pHeader, pDict, kAAFTrue)); //True => minimal testing
}
catch (HRESULT & rResult)
{
hr = rResult;
}
if (pDict) pDict->Release();
if (pHeader) pHeader->Release();
if (pFile)
{
stopGap(pFile->Save());
stopGap(pFile->Close());
pFile->Release();
}
return hr;
}//CreateAAFFile()
示例6: CreateAAFFile
//.........这里部分代码省略.........
AAFRESULT_TEST_FAILED);
pMob->RemoveSlotAt(4);
checkExpression(pMob->RemoveSlotAt(test+1) == AAFRESULT_BADINDEX,
AAFRESULT_TEST_FAILED);
}
newSlot->Release();
newSlot = NULL;
if(newStaticSlot)
newStaticSlot->Release();
newStaticSlot = NULL;
seg->Release();
seg = NULL;
sclp->Release();
sclp = NULL;
pComponent->Release();
pComponent = NULL;
pSourceRef->Release();
pSourceRef = NULL;
}
// PrependSlot
checkResult(defs.cdStaticMobSlot()->
CreateInstance(IID_IAAFMobSlot,
(IUnknown **)&mSlot));
checkResult(defs.cdFiller()->
CreateInstance(IID_IAAFFiller,
(IUnknown **)&filler));
checkResult(filler->Initialize(defs.ddkAAFSound(), 10));
checkResult(filler->QueryInterface (IID_IAAFSegment, (void **)&seg));
checkResult(mSlot->SetName(slotNames[0]));
checkResult(mSlot->SetPhysicalNum(1));
checkResult(mSlot->SetSlotID(1));
checkResult(mSlot->SetSegment(seg));
checkResult(pMob->PrependSlot(mSlot));
checkExpression(pMob->PrependSlot(mSlot) == AAFRESULT_OBJECT_ALREADY_ATTACHED,
AAFRESULT_TEST_FAILED);
checkExpression(pMob->PrependSlot(NULL) == AAFRESULT_NULL_PARAM,
AAFRESULT_TEST_FAILED);
mSlot->Release();
mSlot = NULL;
seg->Release();
seg = NULL;
filler->Release();
filler = NULL;
// AppendSlot
checkResult(defs.cdStaticMobSlot()->
CreateInstance(IID_IAAFMobSlot,
(IUnknown **)&mSlot));
checkResult(defs.cdFiller()->
CreateInstance(IID_IAAFFiller,
(IUnknown **)&filler));
示例7: CAAFTypeDefWeakObjRef_verify
void CAAFTypeDefWeakObjRef_verify (IAAFHeader * pHeader)
{
IAAFDictionarySP pDictionary;
IAAFPropertyDefSP pWeakRefPropertyDef;
checkResult (pHeader->GetDictionary (&pDictionary));
CAAFBuiltinDefs defs (pDictionary);
// Determine if it is okay to ready/validate weak references from the
// test file with the current version of the AAF.
bool weakReferencesSupported = false;
aafProductVersion_t toolkitVersion, fileToolkitVersion;
checkResult(GetAAFVersions(pHeader, &toolkitVersion, &fileToolkitVersion));
if (WeakReferencesSupported(toolkitVersion) && WeakReferencesSupported(fileToolkitVersion))
{
weakReferencesSupported = true;
}
if (weakReferencesSupported)
{
//
// Find and validate the new weak reference.
IAAFTypeDefSP pType;
checkResult(pDictionary->LookupTypeDef (kAAFTypeID_TestWeakReferenceToType, &pType));
eAAFTypeCategory_t category;
checkResult(pType->GetTypeCategory(&category));
checkExpression(kAAFTypeCatWeakObjRef == category, AAFRESULT_TEST_FAILED);
IAAFTypeDefWeakObjRefSP pWeakReferenceType;
checkResult(pType->QueryInterface(IID_IAAFTypeDefWeakObjRef, (void **)&pWeakReferenceType));
checkResult(defs.cdFiller()->LookupPropertyDef(kAAFPropID_TestWeakReferenceToType, &pWeakRefPropertyDef));
// Validate the property's type
checkResult(pWeakRefPropertyDef->GetTypeDef(&pType));
checkExpression(EqualObjects(pType, pWeakReferenceType), AAFRESULT_TEST_FAILED);
// Use GetObjectType to make sure that the target class definitions are
// the same.
IAAFTypeDefObjectRefSP pObjectReferenceType;
checkResult(pWeakReferenceType->QueryInterface(IID_IAAFTypeDefObjectRef, (void **)&pObjectReferenceType));
IAAFClassDefSP pReferencedObjectClass;
checkResult(pObjectReferenceType->GetObjectType(&pReferencedObjectClass));
// Find the class definition for all type definitions.
IAAFClassDefSP pTypeDefClass;
checkResult(pDictionary->LookupClassDef(AUID_AAFTypeDef, &pTypeDefClass));
checkExpression(EqualObjects(pReferencedObjectClass, pTypeDefClass), AAFRESULT_TEST_FAILED);
//
// Find our composition mob.
IAAFMobSP pMob;
checkResult(pHeader->LookupMob(TEST_MobID, &pMob));
IAAFMobSlotSP pSlot;
checkResult(pMob->LookupSlot(TEST_SlotID, &pSlot));
IAAFSegmentSP pSegment;
checkResult(pSlot->GetSegment(&pSegment));
IAAFSequenceSP pSequence;
checkResult(pSegment->QueryInterface(IID_IAAFSequence, (void **)&pSequence));
aafUInt32 elementCount;
checkResult(pSequence->CountComponents(&elementCount));
checkExpression(2 == elementCount, AAFRESULT_TEST_FAILED);
IAAFComponentSP pComp1;
checkResult(pSequence->GetComponentAt(0, &pComp1));
IAAFFillerSP pFiller1;
checkResult(pComp1->QueryInterface(IID_IAAFFiller, (void **)&pFiller1));
IAAFComponentSP pComp2;
checkResult(pSequence->GetComponentAt(1, &pComp2));
IAAFFillerSP pFiller2;
checkResult(pComp2->QueryInterface(IID_IAAFFiller, (void **)&pFiller2));
CheckWeakReference(pFiller1, defs.tdString());
CheckWeakReference(pFiller2, defs.tdInt32());
#ifndef NO_REFERENCE_TO_MOB_TEST
CheckWeakReference(pFiller1, pMob);
#endif
}
else if (!WeakReferencesSupported(toolkitVersion))
{
// This version does not support reading weak references.
throw AAFRESULT_NOT_IN_CURRENT_VERSION;
}
}
示例8: CAAFTypeDefWeakObjRef_create
//.........这里部分代码省略.........
// Now add a new optional weak reference property to an existing class.
IAAFClassDefSP pFillerClass;
IAAFPropertyDefSP pWeakRefPropertyDef;
checkResult(pDictionary->LookupClassDef(AUID_AAFComponent, &pFillerClass));
checkResult(pFillerClass->RegisterOptionalPropertyDef(
kAAFPropID_TestWeakReferenceToMob,
kMyWeakReferenceToMobPropertyName,
pTypeDef,
&pWeakRefPropertyDef));
}
#endif
//
// Create a Composition Mob
//
IAAFMobSP pMob;
checkResult(defs.cdCompositionMob()->CreateInstance(IID_IAAFMob, (IUnknown **)&pMob));
checkResult(pMob->SetMobID(TEST_MobID));
checkResult(pMob->SetName(L"TestCompMob"));
//
// Create a sequence to hold our test fillers components.
//
IAAFSequenceSP pSequence;
checkResult (defs.cdSequence()->CreateInstance(IID_IAAFSequence, (IUnknown **)&pSequence));
checkResult (pSequence->Initialize (defs.ddkAAFPicture()));
IAAFFillerSP pFiller1;
checkResult (defs.cdFiller()->CreateInstance(IID_IAAFFiller, (IUnknown **)&pFiller1));
checkResult (pFiller1->Initialize (defs.ddkAAFPicture(), 16));
IAAFFillerSP pFiller2;
checkResult (defs.cdFiller()->CreateInstance(IID_IAAFFiller, (IUnknown **)&pFiller2));
checkResult (pFiller2->Initialize (defs.ddkAAFPicture(), 32));
if (weakReferencesSupported)
{
// Try adding a weak reference before filler is attached to the file.
CreateWeakReference(pFiller1, defs.tdInt64());
CheckWeakReference(pFiller1, defs.tdInt64());
ChangeWeakReference(pFiller1, defs.tdString());
CreateWeakReference(pFiller2, defs.tdInt32());
}
//
// Add the initialized fillers to the sequence.
//
IAAFComponentSP pComp1;
checkResult(pFiller1->QueryInterface(IID_IAAFComponent, (void **)&pComp1));
checkResult(pSequence->AppendComponent(pComp1));
IAAFComponentSP pComp2;
checkResult(pFiller2->QueryInterface(IID_IAAFComponent, (void **)&pComp2));
checkResult(pSequence->AppendComponent(pComp2));
//
// Append the sequence as the segment in a new timeline mob slot.
//
示例9: CreateAAFFile
static HRESULT CreateAAFFile(
aafWChar * pFileName,
aafUID_constref fileKind,
testRawStorageType_t rawStorageType,
aafProductIdentification_constref productID)
{
IAAFFile* pFile = NULL;
IAAFHeader* pHeader = NULL;
IAAFDictionary* pDictionary = NULL;
IAAFMob* pMob = NULL;
IAAFTimelineMobSlot* pMobSlot = NULL;
IAAFSequence* pSequence = NULL;
IAAFSegment* pSegment = NULL;
IAAFComponent* pComponent = NULL;
int i;
HRESULT hr = S_OK;
try
{
// Remove the previous test file if any.
RemoveTestFile(pFileName);
// Create the AAF file
checkResult(CreateTestFile( pFileName, fileKind, rawStorageType, productID, &pFile ));
// We can't really do anthing in AAF without the header.
checkResult(pFile->GetHeader(&pHeader));
// Get the AAF Dictionary so that we can create valid AAF objects.
checkResult(pHeader->GetDictionary(&pDictionary));
CAAFBuiltinDefs defs (pDictionary);
// Create a Composition Mob
checkResult(defs.cdCompositionMob()->
CreateInstance(IID_IAAFMob,
(IUnknown **)&pMob));
checkResult(pMob->SetMobID(TEST_MobID));
checkResult(pMob->SetName(L"EnumAAFDataDefTest"));
// Add mob slot w/ Sequence
checkResult(defs.cdSequence()->
CreateInstance(IID_IAAFSequence,
(IUnknown **)&pSequence));
checkResult(pSequence->Initialize(defs.ddkAAFPicture()));
//
// Add some segments. Need to test failure conditions
// (i.e. starting/ending w/ transition, two trans back
// to bacl).
//
for(i = 0; i < kNumComponents; i++)
{
aafLength_t len = 10;
checkResult(defs.cdFiller()->
CreateInstance(IID_IAAFComponent,
(IUnknown **)&pComponent));
if(i == 0)
{
checkResult(pComponent->SetDataDef(defs.ddkAAFPictureWithMatte()));
}
else
{
checkResult(pComponent->SetDataDef(defs.ddkAAFPicture()));
}
checkResult(pComponent->SetLength(len));
checkResult(pSequence->AppendComponent(pComponent));
pComponent->Release();
pComponent = NULL;
}
checkResult(pSequence->QueryInterface (IID_IAAFSegment, (void **)&pSegment));
aafRational_t editRate = { 0, 1};
checkResult(pMob->AppendNewTimelineSlot(editRate,
pSegment,
1,
L"AAF Test Sequence",
0,
&pMobSlot));
pMobSlot->Release();
pMobSlot = NULL;
pSegment->Release();
pSegment = NULL;
// Add the master mob to the file and cleanup
pHeader->AddMob(pMob);
}
catch (HRESULT& rResult)
{
hr = rResult;
//.........这里部分代码省略.........