[vlc-commits] chromecast: fix invalid corks state
Thomas Guillem
git at videolan.org
Wed Jan 9 14:58:25 CET 2019
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Wed Jan 9 14:52:19 2019 +0100| [43e9b4388c8c3061ba06fa32299206fd25c2b163] | committer: Thomas Guillem
chromecast: fix invalid corks state
It happened when the chromecast was switching to the buffering state from the
playing state.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=43e9b4388c8c3061ba06fa32299206fd25c2b163
---
modules/stream_out/chromecast/chromecast.h | 1 +
modules/stream_out/chromecast/chromecast_ctrl.cpp | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules/stream_out/chromecast/chromecast.h b/modules/stream_out/chromecast/chromecast.h
index 4e6fb2ebb2..144212f4ee 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -270,6 +270,7 @@ private:
States m_state;
bool m_retry_on_fail;
bool m_played_once;
+ bool m_paused_once;
bool m_request_stop;
bool m_request_load;
bool m_paused;
diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index a2c68e682a..78d6945be4 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -102,6 +102,7 @@ intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int port, std::string device
, m_state( Authenticating )
, m_retry_on_fail( false )
, m_played_once( false )
+ , m_paused_once( false )
, m_request_stop( false )
, m_request_load( false )
, m_paused( false )
@@ -394,6 +395,7 @@ void intf_sys_t::setHasInput( const std::string mime_type )
m_request_stop = false;
m_played_once = false;
+ m_paused_once = false;
m_paused = false;
m_cc_eof = false;
m_request_load = true;
@@ -1211,9 +1213,10 @@ void intf_sys_t::setState( States state )
case Paused:
if (m_played_once && m_on_paused_changed != NULL)
m_on_paused_changed(m_on_paused_changed_data, true);
+ m_paused_once = true;
break;
case Playing:
- if (m_played_once && m_on_paused_changed != NULL)
+ if (m_played_once && m_paused_once && m_on_paused_changed != NULL)
m_on_paused_changed(m_on_paused_changed_data, false);
m_played_once = true;
break;
More information about the vlc-commits
mailing list