Loading apps/decoder.c +4 −0 Original line number Diff line number Diff line Loading @@ -3878,6 +3878,7 @@ static ivas_error decodeVoIP( int16_t nSamplesFlushed = 0; #ifdef FIX_1342_PROPER_FLUSH_IN_SR if ( isSplitRend ) { if ( ( error = IVAS_DEC_FlushSplitBinaural( hIvasDec, (void *) pcmBuf, splitRendBits, &nSamplesFlushed ) ) != IVAS_ERR_OK ) Loading Loading @@ -3914,13 +3915,16 @@ static ivas_error decodeVoIP( } else { #endif /* flush remaining audio */ if ( ( error = IVAS_DEC_Flush( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &nSamplesFlushed ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_VoIP_Flush: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef FIX_1342_PROPER_FLUSH_IN_SR } #endif if ( nSamplesFlushed && !isSplitCoded ) { Loading lib_isar/isar_splitRendererPre.c +6 −0 Original line number Diff line number Diff line Loading @@ -1923,7 +1923,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( int16_t j; float *p_Cldfb_In_BinReal[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; float *p_Cldfb_In_BinImag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; #ifdef FIX_1342_PROPER_FLUSH_IN_SR int32_t num_slots = 0; #else int32_t num_slots; #endif push_wmops( "isar_renderMultiTDBinToSplitBinaural" ); Loading @@ -1932,9 +1936,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( useLc3plus = hSplitBin->hLc3plusEnc != NULL; #ifdef FIX_1342_PROPER_FLUSH_IN_SR /* Zero-initialize the analysis buffers to avoid crash in the LCLD encoder in case of partial flush */ set_zero( (float *) Cldfb_In_BinReal, (int32_t) ( sizeof( Cldfb_In_BinReal ) / sizeof( float ) ) ); set_zero( (float *) Cldfb_In_BinImag, (int32_t) ( sizeof( Cldfb_In_BinImag ) / sizeof( float ) ) ); #endif for ( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; ++i ) { Loading Loading
apps/decoder.c +4 −0 Original line number Diff line number Diff line Loading @@ -3878,6 +3878,7 @@ static ivas_error decodeVoIP( int16_t nSamplesFlushed = 0; #ifdef FIX_1342_PROPER_FLUSH_IN_SR if ( isSplitRend ) { if ( ( error = IVAS_DEC_FlushSplitBinaural( hIvasDec, (void *) pcmBuf, splitRendBits, &nSamplesFlushed ) ) != IVAS_ERR_OK ) Loading Loading @@ -3914,13 +3915,16 @@ static ivas_error decodeVoIP( } else { #endif /* flush remaining audio */ if ( ( error = IVAS_DEC_Flush( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &nSamplesFlushed ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_VoIP_Flush: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef FIX_1342_PROPER_FLUSH_IN_SR } #endif if ( nSamplesFlushed && !isSplitCoded ) { Loading
lib_isar/isar_splitRendererPre.c +6 −0 Original line number Diff line number Diff line Loading @@ -1923,7 +1923,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( int16_t j; float *p_Cldfb_In_BinReal[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; float *p_Cldfb_In_BinImag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; #ifdef FIX_1342_PROPER_FLUSH_IN_SR int32_t num_slots = 0; #else int32_t num_slots; #endif push_wmops( "isar_renderMultiTDBinToSplitBinaural" ); Loading @@ -1932,9 +1936,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( useLc3plus = hSplitBin->hLc3plusEnc != NULL; #ifdef FIX_1342_PROPER_FLUSH_IN_SR /* Zero-initialize the analysis buffers to avoid crash in the LCLD encoder in case of partial flush */ set_zero( (float *) Cldfb_In_BinReal, (int32_t) ( sizeof( Cldfb_In_BinReal ) / sizeof( float ) ) ); set_zero( (float *) Cldfb_In_BinImag, (int32_t) ( sizeof( Cldfb_In_BinImag ) / sizeof( float ) ) ); #endif for ( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; ++i ) { Loading