Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad3420b4 authored by Rakesh Kumar's avatar Rakesh Kumar Committed by Ray Essick
Browse files

C2SoftXaac: Updating xaac plugin code after DRC memory cleanup

Bug: 115509210
Test: poc+vendor
Change-Id: Ia2ef81f4101485ea7df515d719f9df802874fd4e
parent 8f646d16
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -1067,6 +1067,8 @@ int C2SoftXaacDec::configMPEGDDrc() {
    int i_loud_norm;
    int i_target_loudness;
    unsigned int i_sbr_mode;
    uint32_t ui_proc_mem_tabs_size = 0;
    pVOID pv_alloc_ptr = NULL;

    /* Sampling Frequency */
    err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_CONFIG_PARAM,
@@ -1115,6 +1117,24 @@ int C2SoftXaacDec::configMPEGDDrc() {
                                IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE, &i_sbr_mode);
    RETURN_IF_FATAL(err_code, "IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE");

    /* Get memory info tables size */
    err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_GET_MEMTABS_SIZE, 0,
                              &ui_proc_mem_tabs_size);
    RETURN_IF_FATAL(err_code, "IA_API_CMD_GET_MEMTABS_SIZE");

    pv_alloc_ptr = memalign(4, ui_proc_mem_tabs_size);
    if (pv_alloc_ptr == NULL) {
        ALOGE(" Cannot create requested memory  %d", ui_proc_mem_tabs_size);
        return IA_FATAL_ERROR;
    }
    memset(pv_alloc_ptr, 0, ui_proc_mem_tabs_size);
    mMemoryVec.push(pv_alloc_ptr);

    /* Set pointer for process memory tables */
    err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_MEMTABS_PTR, 0,
                              pv_alloc_ptr);
    RETURN_IF_FATAL(err_code, "IA_API_CMD_SET_MEMTABS_PTR");

    err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_INIT,
                              IA_CMD_TYPE_INIT_API_POST_CONFIG_PARAMS, nullptr);