Example #1
0
// goto _NextBodyLocation
KLVObjectPtr mxflib::Partition::NextElement()
{
	_BodyLocation = _NextBodyLocation;

	// skip the present Object
	_NextBodyLocation = Skip( _NextBodyLocation );

	// skip any trailing KLVFill
	_NextBodyLocation = SkipFill( _NextBodyLocation );

	if(!Object->GetParentFile()) { error("Call to Partition::StartElements() on a non-file partition\n"); return NULL; }

	MXFFilePtr PF = Object->GetParentFile();

	// construct a new Object
	if( !_BodyLocation ) return 0;
	else
	{
		PF->Seek( _BodyLocation );
		
		KLVObjectPtr pObj = PF->ReadKLV();

		return pObj; 
	}
}