/** The Destructor */ OMX_ERRORTYPE omx_clocksrc_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp) { omx_clocksrc_component_PrivateType* omx_clocksrc_component_Private = openmaxStandComp->pComponentPrivate; OMX_U32 i; omx_clocksrc_component_Private->sClockState.eState = OMX_TIME_ClockStateMax; /*Deinitialize and free message semaphore*/ if(omx_clocksrc_component_Private->clockEventSem) { tsem_deinit(omx_clocksrc_component_Private->clockEventSem); free(omx_clocksrc_component_Private->clockEventSem); omx_clocksrc_component_Private->clockEventSem=NULL; } if(omx_clocksrc_component_Private->clockEventCompleteSem) { tsem_deinit(omx_clocksrc_component_Private->clockEventCompleteSem); free(omx_clocksrc_component_Private->clockEventCompleteSem); omx_clocksrc_component_Private->clockEventCompleteSem=NULL; } /* frees port/s */ if (omx_clocksrc_component_Private->ports) { for (i=0; i < omx_clocksrc_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts; i++) { if(omx_clocksrc_component_Private->ports[i]) omx_clocksrc_component_Private->ports[i]->PortDestructor(omx_clocksrc_component_Private->ports[i]); } free(omx_clocksrc_component_Private->ports); omx_clocksrc_component_Private->ports=NULL; } return omx_base_source_Destructor(openmaxStandComp); }
/* The Destructor */ OMX_ERRORTYPE omx_parser3gp_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp) { omx_parser3gp_component_PrivateType* omx_parser3gp_component_Private = openmaxStandComp->pComponentPrivate; OMX_U32 i; if(omx_parser3gp_component_Private->avformatSyncSem) { tsem_deinit(omx_parser3gp_component_Private->avformatSyncSem); free(omx_parser3gp_component_Private->avformatSyncSem); omx_parser3gp_component_Private->avformatSyncSem=NULL; } if(omx_parser3gp_component_Private->sInputFileName) { free(omx_parser3gp_component_Private->sInputFileName); omx_parser3gp_component_Private->sInputFileName = NULL; } if(omx_parser3gp_component_Private->pTmpOutputBuffer) { free(omx_parser3gp_component_Private->pTmpOutputBuffer); } /* frees port/s */ if (omx_parser3gp_component_Private->ports) { for (i=0; i < (omx_parser3gp_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + omx_parser3gp_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + omx_parser3gp_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts ); i++) { if(omx_parser3gp_component_Private->ports[i]) omx_parser3gp_component_Private->ports[i]->PortDestructor(omx_parser3gp_component_Private->ports[i]); } free(omx_parser3gp_component_Private->ports); omx_parser3gp_component_Private->ports=NULL; } noParser3gpInstance--; DEBUG(DEB_LEV_FUNCTION_NAME,"In %s \n",__func__); return omx_base_source_Destructor(openmaxStandComp); }
/** The Destructor */ OMX_ERRORTYPE omx_videosrc_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp) { omx_videosrc_component_PrivateType* omx_videosrc_component_Private = openmaxStandComp->pComponentPrivate; OMX_ERRORTYPE err = OMX_ErrorNone; OMX_U32 i; if(omx_videosrc_component_Private->videoSyncSem) { tsem_deinit(omx_videosrc_component_Private->videoSyncSem); free(omx_videosrc_component_Private->videoSyncSem); omx_videosrc_component_Private->videoSyncSem=NULL; } err = uninit_device(omx_videosrc_component_Private); if(omx_videosrc_component_Private->deviceHandle != -1) { if(-1 == close(omx_videosrc_component_Private->deviceHandle)) { DEBUG(DEB_LEV_ERR, "In %s Closing video capture device failed \n",__func__); } omx_videosrc_component_Private->deviceHandle = -1; } /* frees port/s */ if (omx_videosrc_component_Private->ports) { for (i=0; i < omx_videosrc_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts; i++) { if(omx_videosrc_component_Private->ports[i]) omx_videosrc_component_Private->ports[i]->PortDestructor(omx_videosrc_component_Private->ports[i]); } free(omx_videosrc_component_Private->ports); omx_videosrc_component_Private->ports=NULL; } noViderSrcInstance--; DEBUG(DEB_LEV_FUNCTION_NAME,"In %s \n",__func__); return omx_base_source_Destructor(openmaxStandComp); }
/** The destructor */ OMX_ERRORTYPE omx_audio_capturer_component_Destructor( OMX_COMPONENTTYPE *pComponent) { omx_audio_capturer_component_PrivateType* pPrivate = pComponent->pComponentPrivate; OMX_U32 i; DEBUG(DEB_LEV_FUNCTION_NAME, "%s\n", __func__); /* Free port(s) */ if (pPrivate->ports) { for (i=0; i < pPrivate->sPortTypesParam[OMX_PortDomainAudio].nPorts; i++) { if(pPrivate->ports[i]) pPrivate->ports[i]->PortDestructor(pPrivate->ports[i]); } free(pPrivate->ports); pPrivate->ports=NULL; } pPrivate->BufferMgmtCallback = omx_audio_capturer_component_BufferMgmtCallback; omx_base_source_Destructor(pComponent); nComponentInstances--; return OMX_ErrorNone; }