void uninit_audio(sh_audio_t *sh_audio) { if (sh_audio->afilter) { mp_msg(MSGT_DECAUDIO, MSGL_V, "Uninit audio filters...\n"); af_uninit(sh_audio->afilter); free(sh_audio->afilter); sh_audio->afilter = NULL; } if (sh_audio->inited) { mp_msg(MSGT_DECAUDIO, MSGL_V, MSGTR_UninitAudioStr, sh_audio->codec->drv); sh_audio->ad_driver->uninit(sh_audio); #ifdef DYNAMIC_PLUGINS if (sh_audio->dec_handle) dlclose(sh_audio->dec_handle); #endif sh_audio->inited = 0; } free(sh_audio->a_out_buffer); sh_audio->a_out_buffer = NULL; sh_audio->a_out_buffer_size = 0; if (sh_audio->a_buffer) free(sh_audio->a_buffer); sh_audio->a_buffer = NULL; if (sh_audio->a_in_buffer) free(sh_audio->a_in_buffer); sh_audio->a_in_buffer = NULL; }
int reinit_audio_filters(struct MPContext *mpctx) { struct sh_audio *sh_audio = mpctx->sh_audio; if (!sh_audio) return -2; af_uninit(mpctx->sh_audio->afilter); if (af_init(mpctx->sh_audio->afilter) < 0) return -1; if (recreate_audio_filters(mpctx) < 0) return -1; return 0; }
int reinit_audio_filters(struct MPContext *mpctx) { struct dec_audio *d_audio = mpctx->d_audio; if (!d_audio) return 0; af_uninit(mpctx->d_audio->afilter); if (af_init(mpctx->d_audio->afilter) < 0) return -1; if (recreate_audio_filters(mpctx) < 0) return -1; return 1; }
void uninit_audio(sh_audio_t *sh_audio) { if (sh_audio->afilter) { mp_msg(MSGT_DECAUDIO, MSGL_V, "Uninit audio filters...\n"); af_uninit(sh_audio->afilter); free(sh_audio->afilter); sh_audio->afilter = NULL; } if (sh_audio->initialized) { mp_tmsg(MSGT_DECAUDIO, MSGL_V, "Uninit audio: %s\n", sh_audio->codec->drv); sh_audio->ad_driver->uninit(sh_audio); #ifdef CONFIG_DYNAMIC_PLUGINS if (sh_audio->dec_handle) dlclose(sh_audio->dec_handle); #endif sh_audio->initialized = 0; } av_freep(&sh_audio->a_buffer); av_freep(&sh_audio->a_in_buffer); }