From a7ee0f82f96f6bc26941ceb42365474bc62abb27 Mon Sep 17 00:00:00 2001 From: Thomas Guillem Date: Wed, 28 Mar 2018 12:17:57 +0200 Subject: [PATCH] chromecast: demux: add deinit() --- modules/stream_out/chromecast/chromecast_demux.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/modules/stream_out/chromecast/chromecast_demux.cpp b/modules/stream_out/chromecast/chromecast_demux.cpp index c4239bf67c..472c47ca35 100644 --- a/modules/stream_out/chromecast/chromecast_demux.cpp +++ b/modules/stream_out/chromecast/chromecast_demux.cpp @@ -140,6 +140,14 @@ struct demux_cc resetTimes(); } + void deinit() + { + assert(p_renderer); + p_renderer->pf_set_meta( p_renderer->p_opaque, NULL ); + p_renderer->pf_set_on_paused_changed_cb( p_renderer->p_opaque, + NULL, NULL ); + } + void resetTimes() { m_start_time = m_last_time = -1; @@ -161,11 +169,7 @@ struct demux_cc ~demux_cc() { if( p_renderer ) - { - p_renderer->pf_set_meta( p_renderer->p_opaque, NULL ); - p_renderer->pf_set_on_paused_changed_cb( p_renderer->p_opaque, - NULL, NULL ); - } + deinit(); } void resetDemuxEof() @@ -413,14 +417,14 @@ struct demux_cc case DEMUX_FILTER_ENABLE: p_renderer = static_cast( var_InheritAddress( p_demux, CC_SHARED_VAR_NAME ) ); + assert(p_renderer != NULL); m_enabled = true; init(); return VLC_SUCCESS; case DEMUX_FILTER_DISABLE: - p_renderer->pf_set_on_paused_changed_cb( p_renderer->p_opaque, - NULL, NULL ); + deinit(); /* Seek back to last known position. Indeed we don't want to resume * from the input position that can be more than 1 minutes forward -- 2.11.4.GIT