This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

why vfcc connect to vhenc failed?

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!! 

  • Feng,

    I see you still have DEI and Display in the example ?? ILConnectComp is done only for Capture-enc or for DEI-Enc also ?? Capture might be giving buffers only to Encode and not DEI in that case. in the example you will need to modify the code, such that buffers are given to DEI and Encode both. Also If yoy are not using DEI / Display you can remove them.

    Regards

    Vimal