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.

Creating Multiple OMX Encoder instances

I am using OMX EZSDK ver  5_02_00_48. on DM 814X. I created OMX component by refereeing to example code provided for Encoder OMX component. 1st Component is created successfully, however my requirement is to create multiple OMX Encoder instances. Can you please confirm the EZSDK version support creating multiple OMX Encoder instances?

When I tried to create second instances, got Encoder Handle for 2nd instances by calling OMX_GetHandle(), however when I tried to move its state from Loaded to IDLE, OMX component calling Event callback handler with Error. *** unrecoverable error , press a key to proceed.

Can you please let me know how to create multiple OMX Encoder instances and what are the limitations on creating multiple OMX encoder instances?

Thanks

Prakash

  • Hi Prakash,

    I modified encode demo of the OMX EZSDK v5.02.00.48 to create one more instance.

    I am not changing the state of second instance from Idle to Executing.

    This is working fine.

    Can you check the attached source files for iLClient to create two instance?

    Ram2475.encode.7z

  • Dear Ram,

    Thanks for your quick reply. I will take a look at this and will get back to you if any issues.

    Thanks

    Prakash

  • Dear Ram,

    you mentioned '  I am not changing the state of second instance from Idle to Executing. ' however in your code you are changing the state of second instance from loaded to Idle, Does it mean if I have multiple instances, only for first instance I need to change state from

    1) loaded-Idle-executing

    2nd Instance, from Loaded to Idle only.

    and it is same for consecutive instances?

  • Hi Prakash,

    If you want any instance to process data the state needs to be changed to Executing and buffers should be passed with ETB and FTB calls.

    Since you are facing issue with Loaded->Idle state transition for second instance, I have done this change.

    Check the parameter settings for second instance.

    Ram

  • Dear Ram,

    Can you please suggest steps further? If I create first component and change its state from Loaded-Idle->executing and after that if I create 2nd instances I do get Handle correctly but cannot move 2nd instances from Loaded to Idle state even after referring to your suggested code.

    Once I move my first instances to Executing state, can I create any more instances and move its state from Loaded-Idle-Executing?

    This scenario is not working, when I tried to move create 2nd instance and try to move its state from Loaded to Idle, I get callback event saying ' *** unrecoverable error ***  Press a key to proceed '

    Can you please provide complete steps how to create more than 1 OMX Encoder instances

    thanks

    Prakash

  • Hi Prakash,

    I followed your sequence of creating second encoder instance. This is also working fine without issue.

    Please have a look at the sources.

    Ram

    5684.ilclient.c

    7888.ilclient_utils.c

  • Thanks Ram,

    It is working fine for me now.


    Thanks for your help.

    Thanks

    Prakash