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.

OMX in ViewMosaic component idle state transition

Hi,

I am trying to modify supplied OMX example demos to have a mosaic of 2 windows with one coming from capture->dei component and other one coming from file->h264decoder

The problem is that Idle command doesn't get tru , basically I hang on semaphore pending for mosaic component,

Please advise what could be the problem.

Thank You

Snippet :

  eError =
OMX_SendCommand (pAppData->pVswmosaicHandle, OMX_CommandStateSet,
OMX_StateIdle, NULL);
if (eError != OMX_ErrorNone)
{
printf ("Error in SendCommand()-OMX_StateIdle State set : %s \n",
IL_ClientErrorToStr (eError));
goto EXIT;
}

/* Since vswmosaic has only input port and buffers are already created by
scalar components, only use_buffer call is used at input port. there is no
output port in the display component */
/* Display input will have same number of buffers as vswmosaic output port */
IL_CLIENT_INPORT_PARAMS *inPortParamsPtr = pAppData->vswmosaicILComp->inPortParams;
for (i = 0; i < pAppData->scILComp->outPortParams->nBufferCountActual; i++)
{
eError = OMX_UseBuffer (pAppData->pVswmosaicHandle,
&(inPortParamsPtr->pInBuff[i]),
OMX_VSWMOSAIC_INPUT_PORT_START_INDEX,
pAppData->vswmosaicILComp,
pAppData->scILComp->outPortParams->nBufferSize,
pAppData->scILComp->outPortParams->pOutBuff[i]->
pBuffer);

if (eError != OMX_ErrorNone)
{
printf ("Error in VSWMOSAIC OMX_UseBuffer()- %s \n",
IL_ClientErrorToStr (eError));
goto EXIT;
}
}

printf("Test2\n");
/* Since vswmosaic has only input port and buffers are already created by
scalar components, only use_buffer call is used at input port. there is no
output port in the display component */
/* Display input will have same number of buffers as vswmosaic output port */

printf("Test2\n");
inPortParamsPtr++;
for (i = 0; i < pAppData->deiILComp->outPortParams->nBufferCountActual; i++)
{
outPortParamsPtr = pAppData->deiILComp->outPortParams;

eError = OMX_UseBuffer (pAppData->pVswmosaicHandle,
&(inPortParamsPtr->pInBuff[i]),
OMX_VSWMOSAIC_INPUT_PORT_START_INDEX+1,
pAppData->vswmosaicILComp,
outPortParamsPtr->nBufferSize,
outPortParamsPtr->pOutBuff[i]->
pBuffer);
printf("Use Buffer : %d\n", outPortParamsPtr->nBufferSize);

if (eError != OMX_ErrorNone)
{
printf ("Error in VSWMOSAIC OMX_UseBuffer()- %s \n",
IL_ClientErrorToStr (eError));
goto EXIT;
}
}


printf("Test3\n");
printf ("vswmosaic inport buffers allocated \n");
/* in SDK conventionally output port allocates the buffers, scalar would
create the buffers which would be consumed by display component */
/* buffer alloaction for output port */
for (i = 0;
i < pAppData->vswmosaicILComp->outPortParams->nBufferCountActual; i++)
{
eError = OMX_AllocateBuffer (pAppData->pVswmosaicHandle,
&pAppData->vswmosaicILComp->
outPortParams->pOutBuff[i],
OMX_VSWMOSAIC_OUTPUT_PORT_START_INDEX,
pAppData,
pAppData->vswmosaicILComp->
outPortParams->nBufferSize);

if (eError != OMX_ErrorNone)
{
printf ("Error in OMX_AllocateBuffer()-Output Port State set : %s \n",
IL_ClientErrorToStr (eError));
goto EXIT;
}
}
printf ("vswmosaic outport buffers allocated \n");

semp_pend (pAppData->vswmosaicILComp->done_sem);

Here the relevant logging output :
N:VPSS  P:2 #:01335 T:00000003bfcb2ea9 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01336 T:00000003bfccadbf S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_DIO_Init> @line<120>
N:VPSS P:2 #:01337 T:00000003bfcd0c27 S:Entered: OMX_BASE_DIO_Init (0x9f1251a8, 0, OMX.DIO.NONTUNNEL, 0x9f124b44)
N:VPSS P:2 #:01338 T:00000003bfcdc165 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_DIO_Init> @line<172> with error<0:ErrorNone>
N:VPSS P:2 #:01339 T:00000003bfce1e05 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_DIO_Open> @line<252>
N:VPSS P:2 #:01340 T:00000003bfd0d613 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_DIO_Open> @line<257> with error<0:ErrorNone>
N:VPSS P:2 #:01334 T:00000003bfca5c3b S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Leaving<OMX_BASE_PROCESS_CmdCompleteEvent> @line<930> with error<0:ErrorNone>
N:VPSS P:2 #:01341 T:00000003bfd26af7 S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Leaving<OMX_BASE_CmdCompleteEventHandler> @line<496> with error<0:ErrorNone>
N:VPSS P:2 #:01342 T:00000003bfd3c78b S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01343 T:00000003bfd5a14f S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Entering<OMX_BASE_CmdEventHandler> @line<434>
N:VPSS P:2 #:01345 T:00000003bfd735ef S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01344 T:00000003bfd616b9 S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Leaving<OMX_BASE_CmdEventHandler> @line<466> with error<0:ErrorNone>
N:VPSS P:2 #:01346 T:00000003bfd948a7 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_CmdEventHandler> @line<434>
N:VPSS P:2 #:01347 T:00000003bfda85d5 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01348 T:00000003bfdc8c11 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_PROCESS_CmdEvent> @line<526>
N:VPSS P:2 #:01350 T:00000003bfddfe27 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01349 T:00000003bfdcf77f S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> @<OMX_BASE_PROCESS_CmdEvent> @line<538> msg<Processing OMX_CommandStateSet>
N:VPSS P:2 #:01351 T:00000003bfdff239 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<_OMX_BASE_HandleStateTransition> @line<316>
N:VPSS P:2 #:01353 T:00000003bfe1704d S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01352 T:00000003bfe059bd S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> @<_OMX_BASE_HandleStateTransition> @line<338> msg<Loaded to Idle Transition>
N:VPSS P:2 #:01354 T:00000003bfe4d277 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01355 T:00000003bfe842e1 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01356 T:00000003bfec524d S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01357 T:00000003bfedaf45 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_DIO_Init> @line<120>
N:VPSS P:2 #:01358 T:00000003bfee130f S:Entered: OMX_BASE_DIO_Init (0x9f1251a8, 16, OMX.DIO.NONTUNNEL, 0x9f124b34)
N:VPSS P:2 #:01359 T:00000003bfeeca49 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_DIO_Init> @line<172> with error<0:ErrorNone>
N:VPSS P:2 #:01360 T:00000003bfef2d63 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_DIO_Open> @line<252>
N:VPSS P:2 #:01361 T:00000003bffa025f S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_DIO_Open> @line<257> with error<0:ErrorNone>
N:VPSS P:2 #:01362 T:00000003bffce015 S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01363 T:00000003c0004c6b S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01364 T:00000003c003ad8d S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01365 T:00000003c006fd21 S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01366 T:00000003c009c7df S:M2M Driver IndTxSc Opened!!
N:VPSS P:2 #:01367 T:00000003c00a1301 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_CB_ReturnEventNotify> @line<100>
N:VPSS P:2 #:01368 T:00000003c00a7707 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> @<OMX_BASE_CB_ReturnEventNotify> @line<115> msg<Notify client for state transition>
N:VPSS P:2 #:01369 T:00000003c00af59f S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_CB_ReturnEventNotify> @line<222> with error<0:ErrorNone>
N:VPSS P:2 #:01370 T:00000003c00b644d S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<_OMX_BASE_HandleStateTransition> @line<482> with error<0:ErrorNone>
N:VPSS P:2 #:01371 T:00000003c00bd6c7 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_PROCESS_CmdEvent> @line<784> with error<0:ErrorNone>
N:VPSS P:2 #:01372 T:00000003c00c486d S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_CmdEventHandler> @line<466> with error<0:ErrorNone>
N:VPSS P:2 #:01373 T:00000003c00cc0ed S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_CmdCompleteEventHandler> @line<483>
N:VPSS P:2 #:01374 T:00000003c00d1bf3 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_PROCESS_CmdCompleteEvent> @line<809>
N:VPSS P:2 #:01375 T:00000003c00d7b63 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> @<OMX_BASE_PROCESS_CmdCompleteEvent> @line<821> msg<Processing OMX_CommandStateSet>
N:VPSS P:2 #:01376 T:00000003c00de921 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<_OMX_BASE_HandleStateTransitionComplete> @line<505>
N:VPSS P:2 #:01377 T:00000003c00e4cb1 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> @<_OMX_BASE_HandleStateTransitionComplete> @line<534> msg<Loaded to Idle Transition>
N:VPSS P:2 #:01378 T:00000003c00ed375 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_RestoreDioGroupInfo> @line<1397>
N:VPSS P:2 #:01379 T:00000003c00f3549 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_RestoreDioGroupInfo> @line<1452> with error<0:ErrorNone>
N:VPSS P:2 #:01380 T:00000003c00fa3e7 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<_OMX_BASE_HandleStateTransitionComplete> @line<703> with error<0:ErrorNone>
N:VPSS P:2 #:01381 T:00000003c0100f37 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<_OMX_BASE_EventNotifyToClient> @line<880>
N:VPSS P:2 #:01382 T:00000003c013ec91 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_SendCommand> @line<472>
N:VPSS P:2 #:01383 T:00000003c01493c7 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_SendCommand> @line<638> with error<0:ErrorNone>
N:VPSS P:2 #:01384 T:00000003c015977b S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_CmdEventHandler> @line<434>
N:VPSS P:2 #:01385 T:00000003c01616dd S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_PROCESS_CmdEvent> @line<526>
N:VPSS P:2 #:01386 T:00000003c0172035 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01387 T:00000003c01897e9 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_DIO_Init> @line<120>
N:VPSS P:2 #:01388 T:00000003c018f4ed S:Entered: OMX_BASE_DIO_Init (0x9f14e628, 0, OMX.DIO.NONTUNNEL, 0x9f14dfc4)
N:VPSS P:2 #:01389 T:00000003c019a98f S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_DIO_Init> @line<172> with error<0:ErrorNone>
N:VPSS P:2 #:01390 T:00000003c01a0563 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_DIO_Open> @line<252>
N:VPSS P:2 #:01391 T:00000003c01cc4a3 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_DIO_Open> @line<257> with error<0:ErrorNone>
N:VPSS P:2 #:01392 T:00000003c01df551 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> @<OMX_BASE_PROCESS_CmdEvent> @line<538> msg<Processing OMX_CommandStateSet>
N:VPSS P:2 #:01393 T:00000003c01e6bdf S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<_OMX_BASE_HandleStateTransition> @line<316>
N:VPSS P:2 #:01394 T:00000003c01ec371 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> @<_OMX_BASE_HandleStateTransition> @line<338> msg<Loaded to Idle Transition>
N:VPSS P:2 #:01395 T:00000003c0200d29 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01396 T:00000003c021eb48 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_TI_VSWMOSAIC_CommandNotify> @line<752>
N:VPSS P:2 #:01398 T:00000003c02361c1 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01397 T:00000003c0225c13 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_VSWMOSAIC_EDMAInit> @line<138>
N:VPSS P:2 #:01399 T:00000003c0268db7 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01400 T:00000003c029d9d3 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01401 T:00000003c02d4961 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01402 T:00000003c02e8ecf S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_DIO_Init> @line<120>
N:VPSS P:2 #:01403 T:00000003c02ee54b S:Entered: OMX_BASE_DIO_Init (0x9f14e628, 1, OMX.DIO.NONTUNNEL, 0x9f14dfc4)
N:VPSS P:2 #:01404 T:00000003c02fb457 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_DIO_Init> @line<172> with error<0:ErrorNone>
N:VPSS P:2 #:01405 T:00000003c0301165 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_DIO_Open> @line<252>
N:VPSS P:2 #:01406 T:00000003c0323ee9 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_DIO_Open> @line<257> with error<0:ErrorNone>
N:VPSS P:2 #:01408 T:00000003c035259f S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01407 T:00000003c033ffcb S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_VSWMOSAIC_EDMAInit> @line<184> with error<0:ErrorNone>
N:VPSS P:2 #:01409 T:00000003c03756bb S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_CB_ReturnEventNotify> @line<100>
N:VPSS P:2 #:01411 T:00000003c038b779 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01410 T:00000003c037bc25 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> @<OMX_BASE_CB_ReturnEventNotify> @line<115> msg<Notify client for state transition>
N:VPSS P:2 #:01412 T:00000003c03ab58f S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_CB_ReturnEventNotify> @line<222> with error<0:ErrorNone>
N:VPSS P:2 #:01414 T:00000003c03c39b4 S:Entered Function :omxrpc_skel_usebuffer
N:VPSS P:2 #:01413 T:00000003c03b2c9b S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<_OMX_BASE_HandleStateTransition> @line<482> with error<0:ErrorNone>
N:VPSS P:2 #:01415 T:00000003c03e27eb S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_PROCESS_CmdEvent> @line<784> with error<0:ErrorNone>
N:VPSS P:2 #:01417 T:00000003c03fb007 S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01418 T:00000003c040f89b S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_DIO_Init> @line<120>
N:VPSS P:2 #:01419 T:00000003c0414a43 S:Entered: OMX_BASE_DIO_Init (0x9f14e628, 16, OMX.DIO.NONTUNNEL, 0x9f14dfb4)
N:VPSS P:2 #:01420 T:00000003c041f771 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_DIO_Init> @line<172> with error<0:ErrorNone>
N:VPSS P:2 #:01421 T:00000003c0425b43 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_DIO_Open> @line<252>
N:VPSS P:2 #:01422 T:00000003c04c88fb S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_DIO_Open> @line<257> with error<0:ErrorNone>
N:VPSS P:2 #:01416 T:00000003c03ebeaf S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_CmdEventHandler> @line<466> with error<0:ErrorNone>
N:VPSS P:2 #:01424 T:00000003c04f298d S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01423 T:00000003c04e1f41 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_CmdCompleteEventHandler> @line<483>
N:VPSS P:2 #:01425 T:00000003c05139f9 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_PROCESS_CmdCompleteEvent> @line<809>
N:VPSS P:2 #:01427 T:00000003c052abbf S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01426 T:00000003c051a195 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> @<OMX_BASE_PROCESS_CmdCompleteEvent> @line<821> msg<Processing OMX_CommandStateSet>
N:VPSS P:2 #:01428 T:00000003c054aa55 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<_OMX_BASE_HandleStateTransitionComplete> @line<505>
N:VPSS P:2 #:01430 T:00000003c0562d59 S:Entered Function :omxrpc_skel_allocbuffer
N:VPSS P:2 #:01429 T:00000003c0551185 S:Module<OMX.TI.VPSSM3.VSWMOSAIC> @<_OMX_BASE_HandleStateTransitionComplete> @line<534> msg<Loaded to Idle Transition>
N:VPSS P:2 #:01431 T:00000003c0582e1b S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<OMX_BASE_RestoreDioGroupInfo> @line<1397>
N:VPSS P:2 #:01432 T:00000003c0589f3d S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<OMX_BASE_RestoreDioGroupInfo> @line<1452> with error<0:ErrorNone>
N:VPSS P:2 #:01433 T:00000003c059116d S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Leaving<_OMX_BASE_HandleStateTransitionComplete> @line<703> with error<0:ErrorNone>
N:VPSS P:2 #:01434 T:00000003c0597c7d S:Module<OMX.TI.VPSSM3.VSWMOSAIC> Entering<_OMX_BASE_EventNotifyToClient> @line<880>
N:VPSS P:2 #:01435 T:00000003c05aba83 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<_OMX_BASE_EventNotifyToClient> @line<1171> with error<0:ErrorNone>
N:VPSS P:2 #:01436 T:00000003c05b2ae5 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_PROCESS_CmdCompleteEvent> @line<930> with error<0:ErrorNone>
N:VPSS P:2 #:01437 T:00000003c05b99fd S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_CmdCompleteEventHandler> @line<496> with error<0:ErrorNone>
N:VPSS P:2 #:01438 T:00000003c05c06d9 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Entering<OMX_BASE_CmdEventHandler> @line<434>
N:VPSS P:2 #:01439 T:00000003c05c6d85 S:Module<OMX.TI.VPSSM3.VFPC.INDTXSCWB> Leaving<OMX_BASE_CmdEventHandler> @line<466> with error<0:ErrorNone>
N:VPSS P:2 #:01440 T:00000003c06507a1 S:Entered Function :omxrpc_skel_allocbuffer
  • Actually my problem is with following : 

        inPortParamsPtr++;
    for (i = 0; i < pAppData->deiILComp->outPortParams->nBufferCountActual; i++)
    {
    outPortParamsPtr = pAppData->deiILComp->outPortParams;

    eError = OMX_UseBuffer (pAppData->pVswmosaicHandle,
    &(inPortParamsPtr->pInBuff[i]),
    OMX_VSWMOSAIC_INPUT_PORT_START_INDEX+1,
    pAppData->vswmosaicILComp,
    outPortParamsPtr->nBufferSize,
    outPortParamsPtr->pOutBuff[i]->
    pBuffer);
    printf("Use Buffer : %d\n", outPortParamsPtr->nBufferSize);

    if (eError != OMX_ErrorNone)
    {
    printf ("Error in VSWMOSAIC OMX_UseBuffer()- %s \n",
    IL_ClientErrorToStr (eError));
    goto EXIT;
    }
    }
    
    
    I want to use in my Mosaic second window input from first Dei port which was previously connected to that mosaic port :
          IL_ClientConnectComponents (pAppData->deiILComp,
    OMX_VFPC_OUTPUT_PORT_START_INDEX,
    pAppData->vswmosaicILComp,
    OMX_VSWMOSAIC_INPUT_PORT_START_INDEX+1);
    
    
    If I use Allocate instead of UseBuffer I can pass beyond sem_pend