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

Commit c4901a8c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic "xaac_buffer_20190204"

* changes:
  C2SoftXaac: Updating xaac plugin code after DRC memory cleanup
  Updating xaac plugin code after DRC memory cleanup
parents 15c6b6df ad3420b4
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);

+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);