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_SetConfig fails

Hi,

I am using  OMX with ezsdk 5.03 on DM8168. I have a problem to OMX_SetConfig DEI parameters when the component is in an execute state,

for example:

OMX_CONFIG_ALG_ENABLE algEnable;

OMX_INIT_PARAM (&algEnable);
algEnable.nPortIndex = 0;
algEnable.nChId = 0;

if ( pAppData->vidDetectStatus.isInterlaced )
{
    algEnable.bAlgBypass = 0;
    eError = OMX_SetConfig (pAppData->pDei2Handle,(OMX_INDEXTYPE) OMX_TI_IndexConfigAlgEnable,&algEnable);

}

It fails to return from the function, why is that?

Thanks.

  • Hi Alla,

    It's make me happy to see that someone has respond to my post 6 months after it was posted, i was kind of hoping it would be someone from TI with an answer and not another user that has similar problem, anyway good luck to you trying to get a descent answer on that issue!

    Gabi 

  • I am not sure about the OMX component but DEI enable/disable at HDVPSS driver level can be done only at create time.i.e. At HDVPSS create it should be specified whether DEI has to be created in bypass mode or not. So DEI enable/disable is possible only before driver creation (i.e. Before transition of openMax component to idle state).I think only OMX_SetParameter will work and OMX_setConfig will not work.

  • HI Badri,

    Thank you very much for your answer, it was very helpful, now i understand that the parameter algEnable can not be set in execute state and why.
    But what about other parameters? According to the OMX spec OMX_SetParam can work only at loaded state and OMX_SetConfig can work in loaded, idle and execute states, suppose i need to change buffers sizes in DEI during run time using OMX_SetConfig, is it possible to do it in execute state? in idle state? in loaded state? or should i disassemble the OMX chain and reassemble it? 
    Clear answer for that whould be very helpful.

    Thanks,
    Gabi 


  • Per my understanding all resource allocation including buffer allocation and driver creation happens on transition to idle state. So anything that involves changes in resource usage cannot be done once component has transitioned to idle state without bringing it back to loaded state.(Disassemble chain required).Resolution can be changed at runtime as long as size does not exceed max buffer size (determined by OMX port properties) allocated at transition to idle state.