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_FreeHandle hangs when using both an AAC Encoder and an AAC Decoder

When an AAC Encoder and an AAC Decoder OMX component are created and freed the call to OMX_FreeHandle on the second component hangs (fails to return).  When the order of creation and freeing of the components is reversed the component that hangs changes and it is still the second component that hangs.  Encode and decode functionality work correctly.

Are there any known problems with OMX_FreeHandle for the AAC OMX components?  If so when is a fix expected?  If not, any suggestions?

SDK is ti-ezsdk_dm816x-evm_5_03_00_09

Component versions are:

bios_6_32_05_54
c674x-aaclcdec_01_41_00_00_elf
c674x_aaclcenc_01_00_01_00_elf
codec_engine_3_21_01_23
edma3lld_02_11_02_04
framework_components_3_21_02_32
graphics-sdk_4.04.00.02
ipc_1_23_05_40
linuxutils_3_21_00_04
omx_05_02_00_26
osal_1_21_01_08
slog_04_00_00_02
syslink_2_00_04_83
uia_1_00_03_25
xdais_7_21_01_07
xdctools_3_22_04_46

 

  • Edward,

    This is an issue with the OMX ADEC & AENC components. This will be fixed in the next release. However you may make the following changes and check if it works for you.

    1. In \examples\ti\omx\demos\dm81xx\src\platform_c674.c:

    - Add a call to the function CERuntime_init() in the function platform_init()

    - Add a call to the function CERuntime_exit() in the function platform_deinit()

    2. In \src\ti\omx\comp\adec\src\omx_adec.c:

    - Remove the call to the function CERuntime_init() in the function OMX_TI_AUDDEC_SetDefault()

    - Remove the call to the function CERuntime_exit() in the function OMX_TI_AUDDEC_ComponentDeinit()

    3. In \src\ti\omx\comp\aenc\src\omx_aenc.c:

    - Remove the call to the function CERuntime_init() in the function OMX_TI_AUDENC_SetDefault()

    - Remove the call to the function CERuntime_exit() in the function OMX_TI_AUDENC_ComponentDeinit()

    Regards,

    Anirban