void avresample_close(AVAudioResampleContext *avr) { ff_audio_data_free(&avr->in_buffer); ff_audio_data_free(&avr->resample_out_buffer); ff_audio_data_free(&avr->out_buffer); av_audio_fifo_free(avr->out_fifo); avr->out_fifo = NULL; ff_audio_convert_free(&avr->ac_in); ff_audio_convert_free(&avr->ac_out); ff_audio_resample_free(&avr->resample); ff_audio_mix_free(&avr->am); av_freep(&avr->mix_matrix); avr->use_channel_map = 0; }
void ff_dither_free(DitherContext **cp) { DitherContext *c = *cp; int ch; if (!c) return; ff_audio_data_free(&c->flt_data); ff_audio_data_free(&c->s16_data); ff_audio_convert_free(&c->ac_in); ff_audio_convert_free(&c->ac_out); for (ch = 0; ch < c->channels; ch++) av_free(c->state[ch].noise_buf); av_free(c->state); av_freep(cp); }