MP4Atom* MP4Track::AddAtom(char* parentName, char* childName) { MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName); MP4Atom* pParentAtom = m_pTrakAtom->FindAtom(parentName); ASSERT(pParentAtom); pParentAtom->AddChildAtom(pChildAtom); pChildAtom->Generate(); return pChildAtom; }
bool genericAddItem( MP4File& file, const MP4ItmfItem* item ) { if( !item ) return false; MP4Atom* ilst = file.FindAtom( "moov.udta.meta.ilst" ); if( !ilst ) { file.AddDescendantAtoms( "moov", "udta.meta.ilst" ); ilst = file.FindAtom( "moov.udta.meta.ilst" ); ASSERT( ilst ); } MP4ItemAtom& itemAtom = *(MP4ItemAtom*)MP4Atom::CreateAtom( file, ilst, item->code ); ilst->AddChildAtom( &itemAtom ); return __itemModelToAtom( *item, itemAtom ); }