vlc/vlc-3.0 | branch: master | Thomas Guillem <tho...@gllm.fr> | Wed Mar 28 12:17:57 2018 +0200| [b8f3bc8269ff2f9b4f2b54ae73cc3b71734d1cbd] | committer: Thomas Guillem
chromecast: demux: add deinit() (cherry picked from commit a7ee0f82f96f6bc26941ceb42365474bc62abb27) Signed-off-by: Thomas Guillem <tho...@gllm.fr> > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=b8f3bc8269ff2f9b4f2b54ae73cc3b71734d1cbd --- 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 fdd61092d6..08485d13b7 100644 --- a/modules/stream_out/chromecast/chromecast_demux.cpp +++ b/modules/stream_out/chromecast/chromecast_demux.cpp @@ -141,6 +141,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; @@ -162,11 +170,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() @@ -414,14 +418,14 @@ struct demux_cc case DEMUX_FILTER_ENABLE: p_renderer = static_cast<chromecast_common *>( 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 _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits