vlc/vlc-3.0 | branch: master | Thomas Guillem <tho...@gllm.fr> | Thu Feb 22 17:50:25 2018 +0100| [7a66401a0c3e8d94bdc78117d3c7c6f45eb63f99] | committer: Thomas Guillem
chromecast: init first time/position after first demux() call Some demuxers give invalid results (0) just after a seek. (cherry picked from commit ba48fe638ab3592aefb45945222a455b0dcde316) Signed-off-by: Thomas Guillem <tho...@gllm.fr> > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=7a66401a0c3e8d94bdc78117d3c7c6f45eb63f99 --- modules/stream_out/chromecast/chromecast_demux.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/stream_out/chromecast/chromecast_demux.cpp b/modules/stream_out/chromecast/chromecast_demux.cpp index b923cb1272..f71ec8e9fd 100644 --- a/modules/stream_out/chromecast/chromecast_demux.cpp +++ b/modules/stream_out/chromecast/chromecast_demux.cpp @@ -138,7 +138,13 @@ struct demux_sys_t p_renderer->pf_set_on_paused_changed_cb(p_renderer->p_opaque, on_paused_changed_cb, p_demux); - initTimes(); + resetTimes(); + } + + void resetTimes() + { + m_start_time = m_last_time = -1; + m_start_pos = m_last_pos = -1.0f; } void initTimes() @@ -262,9 +268,10 @@ struct demux_sys_t int ret = VLC_DEMUXER_SUCCESS; if( !m_demux_eof ) { - if( m_start_time < 0 || m_start_pos < 0.0f ) - initTimes(); ret = demux_Demux( p_demux->p_next ); + if( ret != VLC_DEMUXER_EGENERIC + && ( m_start_time < 0 || m_start_pos < 0.0f ) ) + initTimes(); if( ret == VLC_DEMUXER_EOF ) m_demux_eof = true; } @@ -353,7 +360,7 @@ struct demux_sys_t if( ret != VLC_SUCCESS ) return ret; - initTimes(); + resetTimes(); resetDemuxEof(); return VLC_SUCCESS; } @@ -367,7 +374,7 @@ struct demux_sys_t if( ret != VLC_SUCCESS ) return ret; - initTimes(); + resetTimes(); resetDemuxEof(); return VLC_SUCCESS; } @@ -401,7 +408,7 @@ struct demux_sys_t * flush sout streams, make sout del/add called right away and * clear CC buffers. */ seekBack(m_last_time, m_last_pos); - initTimes(); + resetTimes(); resetDemuxEof(); break; case DEMUX_FILTER_ENABLE: _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits