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

Commit 8f646d16 authored by Saketh Sathuvalli's avatar Saketh Sathuvalli Committed by Ray Essick
Browse files

Updating xaac plugin code after DRC memory cleanup

Bug:115509210
Test: poc+vendor
Change-Id: I13b897402a203c7865f296b7a304db32d8431c45
parent 4de30395
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -1178,6 +1178,8 @@ IA_ERRORCODE SoftXAAC::configMPEGDDrc() {
    int i_target_loudness;
    unsigned int i_sbr_mode;
    int i;
    int ui_proc_mem_tabs_size = 0;
    pVOID pv_alloc_ptr = NULL;

#ifdef ENABLE_MPEG_D_DRC
    {
@@ -1228,6 +1230,29 @@ IA_ERRORCODE SoftXAAC::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, NULL);