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
gugelfrei
TreeHugger Robot 5 years ago committed by Android (Google) Code Review
commit c4901a8c25

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

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

Loading…
Cancel
Save