56 if (omx_base_component_Private->
name) {
57 free(omx_base_component_Private->
name);
59 if (omx_base_component_Private->
bStateSem) {
61 free(omx_base_component_Private->
bStateSem);
63 if (omx_base_component_Private->
bMgmtSem) {
65 free(omx_base_component_Private->
bMgmtSem);
75 if (omx_base_component_Private) {
76 free(omx_base_component_Private);
106 if (!omx_base_component_Private) {
126 if (!omx_base_component_Private->
messageSem) {
136 if(!omx_base_component_Private->
bMgmtSem) {
138 if (!omx_base_component_Private->
bMgmtSem) {
149 if(!omx_base_component_Private->
bStateSem) {
151 if (!omx_base_component_Private->
bStateSem) {
191 if (!omx_base_component_Private->
name) {
195 strcpy(omx_base_component_Private->
name,cComponentName);
198 omx_base_component_Private->
callbacks = NULL;
201 omx_base_component_Private->
nGroupID = 0;
222 pthread_mutex_init(&omx_base_component_Private->
flush_mutex, NULL);
276 omx_base_component_Private->
callbacks=NULL;
296 if(omx_base_component_Private->
bMgmtSem){
298 free(omx_base_component_Private->
bMgmtSem);
299 omx_base_component_Private->
bMgmtSem=NULL;
309 if(omx_base_component_Private->
bStateSem){
311 free(omx_base_component_Private->
bStateSem);
312 omx_base_component_Private->
bStateSem=NULL;
315 if(omx_base_component_Private->
name){
316 free(omx_base_component_Private->
name);
317 omx_base_component_Private->
name=NULL;
320 pthread_mutex_destroy(&omx_base_component_Private->
flush_mutex);
352 omx_base_component_Private->
destructor(openmaxStandComp);
391 switch(omx_base_component_Private->
state){
407 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
410 pPort = omx_base_component_Private->
ports[i];
412 while(pPort->pBufferQueue->nelem > 0) {
414 __func__,(
int)pPort->pBufferQueue->nelem,(
int)i,omx_base_component_Private->
name);
418 err = pPort->Port_FreeTunnelBuffer(pPort,i);
424 DEBUG(
DEB_LEV_FULL_SEQ,
"In %s nPortIndex=%d pAllocSem Semval=%x\n", __func__,(
int)i,(
int)pPort->pAllocSem->semval);
431 pPort->sPortParam.bPopulated =
OMX_FALSE;
433 if(pPort->pInternalBufferStorage != NULL) {
434 free(pPort->pInternalBufferStorage);
435 pPort->pInternalBufferStorage=NULL;
438 if(pPort->bBufferStateAllocated != NULL) {
439 free(pPort->bBufferStateAllocated);
440 pPort->bBufferStateAllocated=NULL;
467 switch(omx_base_component_Private->
state){
488 switch(omx_base_component_Private->
state){
499 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
501 pPort = omx_base_component_Private->
ports[i];
505 err= pPort->Port_AllocateTunnelBuffer(pPort, i);
514 __func__, pPort->sPortParam.bEnabled,pPort->sPortParam.bPopulated);
515 if (pPort->sPortParam.nBufferCountActual > 0) {
517 pthread_mutex_lock(&pPort->exitMutex);
518 if (pPort->bIsDestroying) {
520 pthread_mutex_unlock(&pPort->exitMutex);
523 pthread_mutex_unlock(&pPort->exitMutex);
525 pPort->sPortParam.bPopulated =
OMX_TRUE;
556 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
559 pPort = omx_base_component_Private->
ports[i];
572 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
575 pPort = omx_base_component_Private->
ports[i];
595 switch(omx_base_component_Private->
state) {
617 switch(omx_base_component_Private->
state) {
628 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
630 pPort = omx_base_component_Private->
ports[i];
632 for(k=0;k<pPort->nNumTunnelBuffer;k++) {
650 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
653 pPort=omx_base_component_Private->
ports[i];
654 DEBUG(
DEB_LEV_PARAMS,
"In %s: state transition Paused 2 Executing, nelem=%d,semval=%d,Buf Count Actual=%d\n", __func__,
655 pPort->pBufferQueue->nelem,pPort->pBufferSem->semval,(
int)pPort->sPortParam.nBufferCountActual);
658 (pPort->pBufferQueue->nelem == (pPort->pBufferSem->semval + pPort->sPortParam.nBufferCountActual))) {
659 for(k=0; k < pPort->sPortParam.nBufferCountActual;k++) {
682 switch(omx_base_component_Private->
state) {
722 if (header == NULL) {
727 if(*((
OMX_U32*)header) != size) {
728 DEBUG(
DEB_LEV_ERR,
"In %s the header has a wrong size %i should be %i\n",__func__,(
int)*((
OMX_U32*)header),(
int)size);
774 if (nPortIndex >= nNumPorts) {
775 DEBUG(
DEB_LEV_ERR,
"Bad Port index %i when the component has %i ports\n", (
int)nPortIndex, (
int)nNumPorts);
779 pPort = omx_base_component_Private->
ports[nPortIndex];
783 DEBUG(
DEB_LEV_ERR,
"In %s Incorrect State=%x lineno=%d\n",__func__,omx_base_component_Private->
state,__LINE__);
790 DEBUG(
DEB_LEV_ERR,
"In %s failing the checkHeader with err %i\n", __func__, (
int)err);
814 strcpy(pComponentName, omx_base_component_Private->
name);
827 uuid[0] = (
OMX_U32)omx_component;
830 memcpy(*pComponentUUID, uuid, 3*
sizeof(uuid));
848 strcat((
char*)cRole,
"\0");
868 omx_base_component_Private->
callbacks = pCallbacks;
874 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
876 pPort = omx_base_component_Private->
ports[i];
899 OMX_PTR ComponentParameterStructure) {
914 if (ComponentParameterStructure == NULL) {
917 switch((
int) nParamIndex) {
934 pPortDomains->nPorts = 0;
935 pPortDomains->nStartPortNumber = 0;
956 pPrioMgmt->nGroupPriority = omx_base_component_Private->
nGroupPriority;
957 pPrioMgmt->nGroupID = omx_base_component_Private->
nGroupID;
971 pPort = omx_base_component_Private->
ports[pBufferSupplier->nPortIndex];
999 DEBUG(
DEB_LEV_ERR,
"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n",
1000 __func__,(
int)pPropTunnelSetup->nPortIndex,__LINE__);
1005 pPort = omx_base_component_Private->
ports[pPropTunnelSetup->nPortIndex];
1007 pPropTunnelSetup->nTunnelSetup.
nTunnelFlags = pPort->nTunnelFlags;
1008 pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier;
1029 OMX_PTR ComponentParameterStructure) {
1041 if (ComponentParameterStructure == NULL) {
1042 DEBUG(
DEB_LEV_ERR,
"In %s parameter provided is null! err = %x\n", __func__, err);
1046 switch(nParamIndex) {
1070 OMX_U32 j,old_nBufferCountActual=0;
1108 DEBUG(
DEB_LEV_ERR,
"In %s wrong port domain. Out of OpenMAX scope\n",__func__);
1120 if(pPort->pInternalBufferStorage) {
1124 if(pPort->bBufferStateAllocated) {
1125 pPort->bBufferStateAllocated = realloc(pPort->bBufferStateAllocated,pPort->sPortParam.nBufferCountActual*
sizeof(
BUFFER_STATUS_FLAG));
1126 for(j=0; j < pPort->sPortParam.nBufferCountActual; j++) {
1148 DEBUG(
DEB_LEV_PARAMS,
"In %s Buf Sup Port index=%d\n", __func__,(
int)pBufferSupplier->nPortIndex);
1150 if(pBufferSupplier == NULL) {
1178 pPort = omx_base_component_Private->
ports[pBufferSupplier->nPortIndex];
1187 pBufferSupplier->nPortIndex = pPort->nTunneledPort;
1193 pBufferSupplier->nPortIndex = pPort->nTunneledPort;
1211 DEBUG(
DEB_LEV_PARAMS,
"In %s port %d Tunnel flag=%x \n", __func__,(
int)pBufferSupplier->nPortIndex, (
int)pPort->nTunnelFlags);
1231 OMX_PTR pComponentConfigStructure) {
1245 OMX_PTR pComponentConfigStructure) {
1260 if(strcmp(cParameterName,
"OMX.st.index.param.BellagioThreadsID") == 0) {
1279 *pState = omx_base_component_Private->
state;
1305 messageQueue = omx_base_component_Private->
messageQueue;
1306 messageSem = omx_base_component_Private->
messageSem;
1313 message->messageParam = nParam;
1314 message->pCmdData=pCmdData;
1324 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1327 pPort = omx_base_component_Private->
ports[i];
1329 if(pPort->pInternalBufferStorage == NULL) {
1333 if(pPort->bBufferStateAllocated == NULL) {
1334 pPort->bBufferStateAllocated = calloc(pPort->sPortParam.nBufferCountActual,
sizeof(
BUFFER_STATUS_FLAG));
1337 for(k=0; k < pPort->sPortParam.nBufferCountActual; k++) {
1369 if(message->messageParam ==
OMX_ALL) {
1373 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1390 if(message->messageParam ==
OMX_ALL) {
1394 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1418 errQue =
queue(messageQueue, message);
1443 #
if defined(__linux__)
1451 if (omx_base_component_Private == NULL) {
1463 if(message == NULL){
1468 omx_base_component_Private->
messageHandler(openmaxStandComp, message);
1517 if (omx_base_component_Private->
callbacks) {
1536 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1544 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1546 pPort=omx_base_component_Private->
ports[i];
1568 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1578 pPort=omx_base_component_Private->
ports[i];
1618 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1620 pPort=omx_base_component_Private->
ports[i];
1628 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1630 pPort=omx_base_component_Private->
ports[i];
1657 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1686 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1688 pPort=omx_base_component_Private->
ports[i];
1728 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1744 i < omx_base_component_Private->sPortTypesParam[j].nStartPortNumber +
1746 pPort=omx_base_component_Private->
ports[i];
1792 pPort = omx_base_component_Private->
ports[nPortIndex];
1795 DEBUG(
DEB_LEV_ERR,
"Out of %s for component %p with err %i\n", __func__, hComponent, (
int)err);
1821 pPort = omx_base_component_Private->
ports[nPortIndex];
1822 err = pPort->
Port_UseBuffer(pPort, ppBufferHdr, nPortIndex, pAppPrivate, nSizeBytes, pBuffer);
1824 DEBUG(
DEB_LEV_ERR,
"Out of %s for component %p with err %i\n", __func__, hComponent, (
int)err);
1857 pPort = omx_base_component_Private->
ports[nPortIndex];
1860 DEBUG(
DEB_LEV_ERR,
"Out of %s for component %p with err %i\n", __func__, hComponent, (
int)err);
1885 DEBUG(
DEB_LEV_ERR,
"In %s: wrong port direction in Component %s\n", __func__,omx_base_component_Private->
name);
1915 DEBUG(
DEB_LEV_ERR,
"In %s: wrong port(%d) direction(%x) pBuffer=%p in Component %s\n", __func__,
1947 pPort = omx_base_component_Private->
ports[nPort];
1950 DEBUG(
DEB_LEV_ERR,
"Out of %s for component %p with err %i\n", __func__, hComponent, (
int)err);
1970 if ((nQualityLevel > 0) && (nQualityLevel <= omx_base_component_Private->nqualitylevels)) {
OMX_ERRORTYPE(* BufferProcessedCallback)(OMX_HANDLETYPE hComponent, OMX_PTR pAppData, OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE(* messageHandler)(OMX_COMPONENTTYPE *, internalRequestMessageType *)
OMX_ERRORTYPE omx_base_component_SetParameter(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)
Part of the standard OpenMAX function.
OMX_BOOL bIsTransientToDisabled
OMX_ERRORTYPE(* getQualityLevel)(OMX_COMPONENTTYPE *openmaxStandComp, OMX_U32 *pQualityLevel)
char * errorName(OMX_ERRORTYPE error)
OMX_ERRORTYPE(* EmptyThisBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE(* GetState)(OMX_IN OMX_HANDLETYPE hComponent, OMX_OUT OMX_STATETYPE *pState)
OMX_IMAGE_PORTDEFINITIONTYPE image
OMX_ERRORTYPE omx_base_setQualityLevel(OMX_COMPONENTTYPE *openmaxStandComp, OMX_U32 nQualityLevel)
OMX_ERRORTYPE omx_base_component_EmptyThisBuffer(OMX_HANDLETYPE hComponent, OMX_BUFFERHEADERTYPE *pBuffer)
OMX_BOOL bIsTransientToEnabled
OMX_ERRORTYPE(* SetConfig)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE omx_base_component_ParameterSanityCheck(OMX_HANDLETYPE hComponent, OMX_U32 nPortIndex, OMX_PTR pStructure, size_t size)
OMX_ERRORTYPE omx_base_component_UseBuffer(OMX_HANDLETYPE hComponent, OMX_BUFFERHEADERTYPE **ppBufferHdr, OMX_U32 nPortIndex, OMX_PTR pAppPrivate, OMX_U32 nSizeBytes, OMX_U8 *pBuffer)
OMX_ERRORTYPE(* GetParameter)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_INOUT OMX_PTR pComponentParameterStructure)
OMX_ERRORTYPE omx_base_getQualityLevel(OMX_COMPONENTTYPE *openmaxStandComp, OMX_U32 *pQualityLevel)
OMX_ERRORTYPE(* ComponentDeInit)(OMX_IN OMX_HANDLETYPE hComponent)
OMX_ERRORTYPE omx_base_component_UseEGLImage(OMX_HANDLETYPE hComponent, OMX_BUFFERHEADERTYPE **ppBufferHdr, OMX_U32 nPortIndex, OMX_PTR pAppPrivate, void *eglImage)
OMX_ERRORTYPE(* GetComponentVersion)(OMX_IN OMX_HANDLETYPE hComponent, OMX_OUT OMX_STRING pComponentName, OMX_OUT OMX_VERSIONTYPE *pComponentVersion, OMX_OUT OMX_VERSIONTYPE *pSpecVersion, OMX_OUT OMX_UUIDTYPE *pComponentUUID)
OMX_ERRORTYPE omx_base_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp, OMX_STRING cComponentName)
The base constructor for the OpenMAX ST components.
OMX_ERRORTYPE(* ComponentTunnelRequest)(omx_base_PortType *openmaxStandPort, OMX_HANDLETYPE hTunneledComp, OMX_U32 nTunneledPort, OMX_TUNNELSETUPTYPE *pTunnelSetup)
OMX_ERRORTYPE omx_base_component_MessageHandler(OMX_COMPONENTTYPE *openmaxStandComp, internalRequestMessageType *message)
OMX_TRANS_STATETYPE transientState
OMX_ERRORTYPE checkHeader(OMX_PTR header, OMX_U32 size)
Checks the header of a structure for consistency with size and spec version.
OMX_ERRORTYPE(* FillThisBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer)
OMX_NATIVE_WINDOWTYPE pNativeWindow
OMX_ERRORTYPE(* UseBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_INOUT OMX_BUFFERHEADERTYPE **ppBufferHdr, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_PTR pAppPrivate, OMX_IN OMX_U32 nSizeBytes, OMX_IN OMX_U8 *pBuffer)
#define DEB_LEV_SIMPLE_SEQ
pthread_t bufferMgmtThread
OMX_ERRORTYPE omx_base_component_DoStateSet(OMX_COMPONENTTYPE *openmaxStandComp, OMX_U32 destinationState)
void tsem_signal(tsem_t *tsem)
OMX_ERRORTYPE omx_base_component_SetConfig(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)
base SetConfig function
OMX_ERRORTYPE(* SetCallbacks)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_CALLBACKTYPE *pCallbacks, OMX_IN OMX_PTR pAppData)
OMX_ERRORTYPE(* UseEGLImage)(OMX_IN OMX_HANDLETYPE hComponent, OMX_INOUT OMX_BUFFERHEADERTYPE **ppBufferHdr, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_PTR pAppPrivate, OMX_IN void *eglImage)
#define DEBUG(n, fmt, args...)
struct OMX_VERSIONTYPE::@1 s
OMX_ERRORTYPE(* EmptyBufferDone)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_PTR pAppData, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer)
struct OMX_COMPONENTTYPE OMX_COMPONENTTYPE
OMX_HANDLETYPE hMarkTargetComponent
OMX_ERRORTYPE(* setQualityLevel)(OMX_COMPONENTTYPE *openmaxStandComp, OMX_U32 nQualityLevel)
pthread_t messageHandlerThread
OMX_ERRORTYPE omx_base_component_GetState(OMX_HANDLETYPE hComponent, OMX_STATETYPE *pState)
union OMX_PARAM_PORTDEFINITIONTYPE::@0 format
void queue_deinit(queue_t *queue)
unsigned char OMX_UUIDTYPE[128]
OMX_ERRORTYPE(* SetParameter)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentParameterStructure)
OMX_ERRORTYPE omx_base_component_SetCallbacks(OMX_HANDLETYPE hComponent, OMX_CALLBACKTYPE *pCallbacks, OMX_PTR pAppData)
standard OpenMAX function
OMX_ERRORTYPE(* FillBufferDone)(OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE omx_base_component_AllocateBuffer(OMX_HANDLETYPE hComponent, OMX_BUFFERHEADERTYPE **ppBuffer, OMX_U32 nPortIndex, OMX_PTR pAppPrivate, OMX_U32 nSizeBytes)
tsem_t * flush_all_condition
OMX_ERRORTYPE(* EventHandler)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_PTR pAppData, OMX_IN OMX_EVENTTYPE eEvent, OMX_IN OMX_U32 nData1, OMX_IN OMX_U32 nData2, OMX_IN OMX_PTR pEventData)
OMX_CALLBACKTYPE * callbacks
OMX_NATIVE_DEVICETYPE pNativeRender
OMX_VIDEO_PORTDEFINITIONTYPE video
void tsem_up(tsem_t *tsem)
void * compMessageHandlerFunction(void *param)
Component's message handler thread function.
int queue_init(queue_t *queue)
void setHeader(OMX_PTR header, OMX_U32 size)
Simply fills the first two fields in any OMX structure with the size and the version.
OMX_NATIVE_WINDOWTYPE pNativeWindow
OMX_IMAGE_CODINGTYPE eCompressionFormat
OMX_OTHER_PORTDEFINITIONTYPE other
void *(* BufferMgmtFunction)(void *param)
void tsem_down(tsem_t *tsem)
OMX_ERRORTYPE omx_base_component_ComponentTunnelRequest(OMX_HANDLETYPE hComponent, OMX_U32 nPort, OMX_HANDLETYPE hTunneledComp, OMX_U32 nTunneledPort, OMX_TUNNELSETUPTYPE *pTunnelSetup)
OMX_BOOL bFlagErrorConcealment
#define PORT_IS_BUFFER_SUPPLIER(pPort)
OMX_VIDEO_CODINGTYPE eCompressionFormat
OMX_COLOR_FORMATTYPE eColorFormat
The container of an internal message.
OMX_ERRORTYPE omx_base_component_GetConfig(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)
base GetConfig function
OMX_COMPONENTTYPE * openmaxStandComp
#define OMX_SetParameter(hComponent,nParamIndex,pComponentParameterStructure)
#define PORT_IS_ENABLED(pPort)
int queue(queue_t *queue, void *data)
OMX_ERRORTYPE omx_base_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp)
The base destructor for ST OpenMAX components.
omx_base_PortType ** ports
OMX_ERRORTYPE omx_base_component_ComponentDeInit(OMX_HANDLETYPE hComponent)
This standard functionality is called when the component is destroyed in the FreeHandle standard call...
OMX_ERRORTYPE(* FreeBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE(* FlushProcessingBuffers)(omx_base_PortType *openmaxStandPort)
#define OMX_MAX_STRINGNAME_SIZE
OMX_BOOL bFlagErrorConcealment
OMX_PARAM_BELLAGIOTHREADS_ID * bellagioThreads
OMX_BUFFERSUPPLIERTYPE eBufferSupplier
OMX_PTR pApplicationPrivate
OMX_ERRORTYPE(* ComponentTunnelRequest)(OMX_IN OMX_HANDLETYPE hComp, OMX_IN OMX_U32 nPort, OMX_IN OMX_HANDLETYPE hTunneledComp, OMX_IN OMX_U32 nTunneledPort, OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup)
OMX_ERRORTYPE(* Port_AllocateBuffer)(omx_base_PortType *openmaxStandPort, OMX_BUFFERHEADERTYPE **pBuffer, OMX_U32 nPortIndex, OMX_PTR pAppPrivate, OMX_U32 nSizeBytes)
OMX_ERRORTYPE(* DoStateSet)(OMX_COMPONENTTYPE *openmaxStandComp, OMX_U32)
OMX_ERRORTYPE RM_getResource(OMX_COMPONENTTYPE *openmaxStandComp)
long int nThreadBufferMngtID
OMX_PORTDOMAINTYPE eDomain
OMX_ERRORTYPE(* Port_EnablePort)(omx_base_PortType *openmaxStandPort)
OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp)
OMX_BUFFERHEADERTYPE ** pInternalBufferStorage
void tsem_deinit(tsem_t *tsem)
OMX_ERRORTYPE(* AllocateBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_INOUT OMX_BUFFERHEADERTYPE **ppBuffer, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_PTR pAppPrivate, OMX_IN OMX_U32 nSizeBytes)
OMX_ERRORTYPE(* GetConfig)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_INOUT OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE(* destructor)(OMX_COMPONENTTYPE *openmaxStandComp)
OMX_U32 nBufferCountActual
pthread_mutex_t flush_mutex
OMX_PTR pComponentPrivate
#define DEB_LEV_FUNCTION_NAME
int tsem_init(tsem_t *tsem, unsigned int val)
OMX_ERRORTYPE omx_base_component_GetParameter(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)
Part of the standard OpenMAX function.
void base_constructor_remove_garbage_collected(omx_base_component_PrivateType *omx_base_component_Private)
OMX_AUDIO_PORTDEFINITIONTYPE audio
OMX_ERRORTYPE(* Port_DisablePort)(omx_base_PortType *openmaxStandPort)
#define PORT_IS_TUNNELED_N_BUFFER_SUPPLIER(pPort)
OMX_ERRORTYPE omx_base_component_SendCommand(OMX_HANDLETYPE hComponent, OMX_COMMANDTYPE Cmd, OMX_U32 nParam, OMX_PTR pCmdData)
standard SendCommand function
OMX_ERRORTYPE(* Port_SendBufferFunction)(omx_base_PortType *openmaxStandPort, OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE(* SendCommand)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_COMMANDTYPE Cmd, OMX_IN OMX_U32 nParam1, OMX_IN OMX_PTR pCmdData)
OMX_ERRORTYPE omx_base_component_GetExtensionIndex(OMX_HANDLETYPE hComponent, OMX_STRING cParameterName, OMX_INDEXTYPE *pIndexType)
base function not implemented
OMX_ERRORTYPE omx_base_component_FillThisBuffer(OMX_HANDLETYPE hComponent, OMX_BUFFERHEADERTYPE *pBuffer)
void * dequeue(queue_t *queue)
OMX_ERRORTYPE RM_waitForResource(OMX_COMPONENTTYPE *openmaxStandComp)
OMX_ERRORTYPE(* Port_FreeBuffer)(omx_base_PortType *openmaxStandPort, OMX_U32 nPortIndex, OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE omx_base_component_ComponentRoleEnum(OMX_HANDLETYPE hComponent, OMX_U8 *cRole, OMX_U32 nIndex)
Enumerates all the roles of the component.
OMX_ERRORTYPE RM_releaseResource(OMX_COMPONENTTYPE *openmaxStandComp)
OMX_PARAM_PORTDEFINITIONTYPE sPortParam
OMX_PORT_PARAM_TYPE sPortTypesParam[4]
#define PORT_IS_TUNNELED(pPort)
OMX_ERRORTYPE omx_base_component_GetComponentVersion(OMX_HANDLETYPE hComponent, OMX_STRING pComponentName, OMX_VERSIONTYPE *pComponentVersion, OMX_VERSIONTYPE *pSpecVersion, OMX_UUIDTYPE *pComponentUUID)
Standard OpenMAX function.
OMX_COLOR_FORMATTYPE eColorFormat
long int nThreadMessageID
OMX_ERRORTYPE(* Port_UseBuffer)(omx_base_PortType *openmaxStandPort, OMX_BUFFERHEADERTYPE **ppBufferHdr, OMX_U32 nPortIndex, OMX_PTR pAppPrivate, OMX_U32 nSizeBytes, OMX_U8 *pBuffer)
OMX_ERRORTYPE(* GetExtensionIndex)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_STRING cParameterName, OMX_OUT OMX_INDEXTYPE *pIndexType)
OMX_ERRORTYPE omx_base_component_FreeBuffer(OMX_HANDLETYPE hComponent, OMX_U32 nPortIndex, OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE(* ComponentRoleEnum)(OMX_IN OMX_HANDLETYPE hComponent, OMX_OUT OMX_U8 *cRole, OMX_IN OMX_U32 nIndex)