Commit e032fd5c authored by vaclav's avatar vaclav
Browse files

fix memory leaks in bitrate switching

parent 2f12af7b
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1428,7 +1428,7 @@ ivas_error ivas_masa_dec_reconfigure(
    }

#ifdef MASA_AND_OBJECTS
    if ( st_ivas->ivas_format != MASA_ISM_FORMAT )
    if ( st_ivas->ivas_format == MASA_FORMAT && st_ivas->last_ivas_format == MASA_FORMAT ) /* note: switching within OMASA is handled in ivas_omasa_dec_config() */
    {
#endif

+5 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ ivas_error ivas_omasa_dec_config(
    int16_t k, sce_id, nSCE_old, nchan_hp20_old, numCldfbAnalyses_old, numCldfbSyntheses_old, n_MD;
    int32_t ivas_total_brate, ism_total_brate, cpe_brate;
    ISM_MODE ism_mode_old;
    IVAS_FORMAT ivas_format_orig;
    ivas_error error;

    /* initializations */
@@ -146,7 +147,11 @@ ivas_error ivas_omasa_dec_config(
    ism_mode_old = ivas_omasa_ism_mode_select( st_ivas->hDecoderConfig->last_ivas_total_brate, st_ivas->nchan_ism );
    st_ivas->ism_mode = ism_mode_old;

    ivas_format_orig = st_ivas->ivas_format;
    st_ivas->ivas_format = st_ivas->last_ivas_format;
    ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses_old, &numCldfbSyntheses_old );
    st_ivas->ivas_format = ivas_format_orig;

    nSCE_old = st_ivas->nSCE;
    nchan_hp20_old = getNumChanSynthesis( st_ivas );