// 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; } }