I change capture_encode code as such:
IL_ClientConnectComponents (pAppData->capILComp,
OMX_VFCC_OUTPUT_PORT_START_INDEX,
pAppData->encILComp, OMX_VIDENC_INPUT_PORT);
for (i = 0; i < pAppData->encILComp->inPortParams->nBufferCountActual; i++)
{
outPortParamsPtr = pAppData->capILComp->outPortParams;
//pAppData->deiILComp->outPortParams + 1;
eError = OMX_UseBuffer (pAppData->pEncHandle,
&pAppData->encILComp->inPortParams->pInBuff[i],
OMX_VIDENC_INPUT_PORT,
pAppData->encILComp,
outPortParamsPtr->nBufferSize,
outPortParamsPtr->pOutBuff[i]->pBuffer);
if (eError != OMX_ErrorNone)
{
printf ("Error in encode OMX_UseBuffer(): %s \n",
IL_ClientErrorToStr (eError));
goto EXIT;
}
}
but this will cause the example to block:
got eventState changed to: OMX_StateExecuting capture control ( TVP ) state execute file write thread created encode connect thread created dei connect thread created capture connect thread created display connect thread created executing the application now!!