Beispiel #1
0
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;
}
Beispiel #2
0
Datei: audio.c Projekt: wrl/mpv
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;
}
Beispiel #3
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;
}
Beispiel #4
0
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);
}