From 2f905017d644e2f728b7fa48ebb8f07c175811fd Mon Sep 17 00:00:00 2001 From: Rajat Kumar Date: Wed, 16 Sep 2020 00:02:37 +0530 Subject: [PATCH] Fix for NPD in ixheaacd_init_sbr Added check for AOT(read from bit stream) mismatch, between two consecutive execute calls while decoding LATM header. Bug: 168429291 Test: poc in bug Change-Id: I64b3e38c97499b1103c9cc5594742b804e0a3965 --- decoder/ixheaacd_api.c | 2 +- decoder/ixheaacd_headerdecode.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/decoder/ixheaacd_api.c b/decoder/ixheaacd_api.c index 2a03695..3a17d1d 100644 --- a/decoder/ixheaacd_api.c +++ b/decoder/ixheaacd_api.c @@ -1471,7 +1471,7 @@ IA_ERRORCODE ixheaacd_dec_init( p_state_enhaacplus_dec->i_bytes_consumed = 0; return IA_NO_ERROR; } - + p_state_enhaacplus_dec->ui_init_done = 0; memset(&(p_state_enhaacplus_dec->eld_specific_config), 0, sizeof(ia_eld_specific_config_struct)); return_val = ixheaacd_aac_headerdecode( diff --git a/decoder/ixheaacd_headerdecode.c b/decoder/ixheaacd_headerdecode.c index 573d67a..356cf08 100644 --- a/decoder/ixheaacd_headerdecode.c +++ b/decoder/ixheaacd_headerdecode.c @@ -546,7 +546,7 @@ WORD32 ixheaacd_ga_hdr_dec(ia_aac_dec_state_struct *aac_state_struct, ixheaacd_read_bits_buf(it_bit_buff, 5); } - if (aac_state_struct->header_dec_done) { + if (aac_state_struct->header_dec_done || aac_state_struct->ui_init_done) { if (aac_state_struct->audio_object_type != aot_init) return IA_FATAL_ERROR; }