// Destructor
PVA_FF_MediaDataAtom::~PVA_FF_MediaDataAtom()
{
    if (_pofstream._filePtr != NULL && true == _oIsFileOpen)
    {
        PVA_FF_AtomUtils::closeFile(&_pofstream);
        _pofstream._filePtr = NULL;
    }

    // PVA_FF_TrackAtom *_ptrackReferencePtr - is taken care of by the movie atom
    // Delete vector<PVA_FF_Renderable*> *_prenderables
    if (_prenderables != NULL)
    {
        for (uint32 i = 0; i < _prenderables->size(); i++)
        {
            if ((*_prenderables)[i] != NULL)
            {
                OSCL_DELETE((*_prenderables)[i]);
                //PV_MP4_FF_DELETE(NULL,PVA_FF_Renderable,(*_prenderables)[i]);
                (*_prenderables)[i] = NULL;
            }
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_RenderableVecType, Oscl_Vector, _prenderables);
        _prenderables = NULL;
    }

    //Contents of this array are deleted in movie atom
    //OSCL_DELETE(_ptrackReferencePtrVec);

    PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_TrackAtomVecType, Oscl_Vector, _ptrackReferencePtrVec);

    Oscl_FileServer fileServ;
    fileServ.Connect();
    fileServ.Oscl_DeleteFile(_tempFilename.get_cstr());
    fileServ.Close();
}
PVA_FF_InterLeaveBuffer::~PVA_FF_InterLeaveBuffer()
{
    // free interleave buffer and sample parameter vectors
    if (_interLeaveBuffer != NULL)
        oscl_free(_interLeaveBuffer);
    if (_pTimeStampVec != NULL)
        PV_MP4_FF_TEMPLATED_DELETE(NULL, uint32VecType, Oscl_Vector, _pTimeStampVec);
    if (_pSampleSizeVec)
        PV_MP4_FF_TEMPLATED_DELETE(NULL, uint32VecType, Oscl_Vector, _pSampleSizeVec);
    if (_pSampleFlagsVec)
        PV_MP4_FF_TEMPLATED_DELETE(NULL, uint8VecType, Oscl_Vector, _pSampleFlagsVec);
    if (_pIndexVec)
        PV_MP4_FF_TEMPLATED_DELETE(NULL, int32VecType, Oscl_Vector, _pIndexVec);
}
// Destructor
AVCConfigurationBox::~AVCConfigurationBox()
{
    if (_sequenceParameterSetVec != NULL)
    {
        for (uint32 i = 0; i < _sequenceParameterSetVec->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, ParameterSet, (*_sequenceParameterSetVec)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, parameterSetVecType, Oscl_Vector, _sequenceParameterSetVec);
    }
    if (_pictureParameterSetVec != NULL)
    {
        for (uint32 i = 0; i < _pictureParameterSetVec->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, ParameterSet, (*_pictureParameterSetVec)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, parameterSetVecType, Oscl_Vector, _pictureParameterSetVec);
    }
}
// Destructor
PVA_FF_DecoderConfigDescriptor::~PVA_FF_DecoderConfigDescriptor()
{
    if (_pdecSpecificInfoVec != NULL)
    {
        for (uint32 i = 0; i < _pdecSpecificInfoVec->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, PVA_FF_DecoderSpecificInfo, (*_pdecSpecificInfoVec)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_DecoderSpecificInfoVecType, Oscl_Vector, _pdecSpecificInfoVec);
    }
}
예제 #5
0
//destructor
PVA_FF_MovieExtendsAtom::~PVA_FF_MovieExtendsAtom()
{
    PV_MP4_FF_DELETE(NULL, PVA_FF_MovieExtendsHeaderAtom, _pMehdAtom);

    // Delete trex atoms
    for (uint32 ii = 0; ii < _pTrexAtomVec->size(); ii++)
    {
        PV_MP4_FF_DELETE(NULL, PVA_FF_TrackExtendAtom, (*_pTrexAtomVec)[ii]);
    }
    PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_TrackExtendsAtomVecType, Oscl_Vector, _pTrexAtomVec);

}
// Destructor
PVA_FF_ObjectDescriptor::~PVA_FF_ObjectDescriptor()
{
    // Cleanup vector of ES_ID_Refs
    if (_pES_ID_Ref_Vec != NULL)
    {
        for (uint32 i = 0; i < _pES_ID_Ref_Vec->size(); i++)
        {
            PVA_FF_ES_ID_Ref* ref = (*_pES_ID_Ref_Vec)[i];
            PV_MP4_FF_DELETE(NULL, PVA_FF_ES_ID_Ref, ref);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_ES_ID_RefVecType, Oscl_Vector, _pES_ID_Ref_Vec);
    }
}
// Destructor
TrackFragmentRandomAccessAtom::~TrackFragmentRandomAccessAtom()
{
    if (_pTFRAEntriesVec != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pTFRAEntriesVec->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, TFRAEntries, (*_pTFRAEntriesVec)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, TFRAEntriesVecType, Oscl_Vector, _pTFRAEntriesVec);
    }

}
예제 #8
0
//destructor
PVA_FF_MovieFragmentAtom::~PVA_FF_MovieFragmentAtom()
{
    // delete header atom
    PV_MP4_FF_DELETE(NULL, PVA_FF_MovieFragmentHeaderAtom, _pMfhdAtom);

    // Delete track fragment atom list
    for (uint32 ii = 0; ii < _pTrafList->size(); ii++)
    {
        PV_MP4_FF_DELETE(NULL, PVA_FF_TrackFragmentAtom, (*_pTrafList)[ii]);
    }
    PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_TrackFragmentAtomVecType, Oscl_Vector, _pTrafList);

}
//destructor
PVA_FF_MovieFragmentRandomAccessAtom::~PVA_FF_MovieFragmentRandomAccessAtom()
{
    // delete movie fragment random access offset atom
    PV_MP4_FF_DELETE(NULL, PVA_FF_MfroAtom, _pMfroAtom);

    // Delete track fragment  random access atom list
    for (uint32 ii = 0; ii < _pTfraList->size(); ii++)
    {
        PV_MP4_FF_DELETE(NULL, PVA_FF_TfraAtom, (*_pTfraList)[ii]);
    }
    PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_TrackFragmentRandomAccessAtomVecType,
                               Oscl_Vector, _pTfraList);

}
MovieExtendsAtom::~MovieExtendsAtom()
{
    if (_pMovieExtendsHeaderAtom != NULL)
    {
        PV_MP4_FF_DELETE(NULL, MovieExtendsHeaderAtom, _pMovieExtendsHeaderAtom);
        _pMovieExtendsHeaderAtom = NULL;
    }
    for (uint32 i = 0; i < _pTrackExtendsAtomVec->size(); i++)
    {
        PV_MP4_FF_DELETE(NULL, TrackExtendsAtom, (*_pTrackExtendsAtomVec)[i]);
    }
    PV_MP4_FF_TEMPLATED_DELETE(NULL, trackExtendsAtomVecType, Oscl_Vector, _pTrackExtendsAtomVec);

}
PVA_FF_AssetInfoKeyWordsAtom::~PVA_FF_AssetInfoKeyWordsAtom()
{
    if (_pKeyWordVect != NULL)
    {
        for (uint32 idx = 0; idx < _pKeyWordVect->size();idx++)
        {
            if ((*_pKeyWordVect)[idx] != NULL)
            {
                PV_MP4_FF_DELETE(NULL, PVA_FF_AssetInfoKeyWordStruct, (*_pKeyWordVect)[idx]);
                (*_pKeyWordVect)[idx] = NULL;
            }
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, PVA_FF_AssetInfoKeyWordStructVecType, Oscl_Vector, _pKeyWordVect);
        _pKeyWordVect = NULL;
    }

}
예제 #12
0
// Destructor
PVA_FF_SyncSampleAtom::~PVA_FF_SyncSampleAtom()
{
    // Cleanup vector
    PV_MP4_FF_TEMPLATED_DELETE(NULL, uint32VecType, Oscl_Vector, _psampleNumbers);
}
예제 #13
0
// Destructor
PVA_FF_ChunkOffsetAtom::~PVA_FF_ChunkOffsetAtom()
{
    // Cleanup vector
    PV_MP4_FF_TEMPLATED_DELETE(NULL, uint32VecType, Oscl_Vector, _pchunkOffsets);
}
// Destructor
PVA_FF_TrackReferenceTypeAtom::~PVA_FF_TrackReferenceTypeAtom()
{
    // Clean up vector of track reference ids
    PV_MP4_FF_TEMPLATED_DELETE(NULL, uint32VecType, Oscl_Vector, _trackIDs);
}
예제 #15
0
// Destructor
UserDataAtom::~UserDataAtom()
{
    if (_pPVUserDataAtom != NULL)
    {
        PV_MP4_FF_DELETE(NULL, PVUserDataAtom, _pPVUserDataAtom);
    }

    if (_pPVContentTypeAtom != NULL)
    {
        PV_MP4_FF_DELETE(NULL, PVContentTypeAtom, _pPVContentTypeAtom);
    }


    if (_pMetaDataAtom != NULL)
    {
        PV_MP4_FF_DELETE(NULL, MetaDataAtom, _pMetaDataAtom);
    }


    if (_pCopyRightAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pCopyRightAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, CopyRightAtom, (*_pCopyRightAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, copyRightAtomVecType, Oscl_Vector, _pCopyRightAtomArray);
    }
    if (_pAssetInfoTitleAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoTitleAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoTitleAtom, (*_pAssetInfoTitleAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoTitleAtomVecType, Oscl_Vector, _pAssetInfoTitleAtomArray);
    }
    if (_pAssetInfoDescAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoDescAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoDescAtom, (*_pAssetInfoDescAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoDescAtomVecType, Oscl_Vector, _pAssetInfoDescAtomArray);
    }
    if (_pAssetInfoPerformerAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoPerformerAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoPerformerAtom, (*_pAssetInfoPerformerAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoPerformerAtomVecType, Oscl_Vector, _pAssetInfoPerformerAtomArray);
    }
    if (_pAssetInfoAuthorAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoAuthorAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoAuthorAtom, (*_pAssetInfoAuthorAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoAuthorAtomVecType, Oscl_Vector, _pAssetInfoAuthorAtomArray);
    }
    if (_pAssetInfoGenreAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoGenreAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoGenreAtom, (*_pAssetInfoGenreAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoGenreAtomVecType, Oscl_Vector, _pAssetInfoGenreAtomArray);
    }
    if (_pAssetInfoRatingAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoRatingAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoRatingAtom, (*_pAssetInfoRatingAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoRatingAtomVecType, Oscl_Vector, _pAssetInfoRatingAtomArray);
    }
    if (_pAssetInfoClassificationAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoClassificationAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoClassificationAtom, (*_pAssetInfoClassificationAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoClassificationAtomVecType, Oscl_Vector, _pAssetInfoClassificationAtomArray);
    }
    if (_pAssetInfoKeyWordAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoKeyWordAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoKeyWordAtom, (*_pAssetInfoKeyWordAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoKeyWordAtomVecType, Oscl_Vector, _pAssetInfoKeyWordAtomArray);
    }
    if (_pAssetInfoLocationAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoLocationAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoLocationAtom, (*_pAssetInfoLocationAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoLocationAtomVecType, Oscl_Vector, _pAssetInfoLocationAtomArray);
    }

    if (_pAssetInfoAlbumAtomArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoAlbumAtomArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoAlbumAtom, (*_pAssetInfoAlbumAtomArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoAlbumAtomVecType, Oscl_Vector, _pAssetInfoAlbumAtomArray);
    }

    if (_pAssetInfoRecordingYearArray != NULL)
    {
        // CLEAN UP VECTOR!!
        for (uint32 i = 0; i < _pAssetInfoRecordingYearArray->size(); i++)
        {
            PV_MP4_FF_DELETE(NULL, AssetInfoRecordingYearAtom, (*_pAssetInfoRecordingYearArray)[i]);
        }
        PV_MP4_FF_TEMPLATED_DELETE(NULL, assetInfoRecordingYearAtomVecType, Oscl_Vector, _pAssetInfoRecordingYearArray);
    }



}
PVA_FF_EditListAtom::~PVA_FF_EditListAtom()
{
    PV_MP4_FF_TEMPLATED_DELETE(NULL, uint32VecType, Oscl_Vector, _psegmentDurations);
    PV_MP4_FF_TEMPLATED_DELETE(NULL, int32VecType, Oscl_Vector, _pmediaTimes);
    PV_MP4_FF_TEMPLATED_DELETE(NULL, uint16VecType, Oscl_Vector, _pmediaRates);
}