vlc | branch: master | Steve Lhomme <[email protected]> | Wed Dec 23 12:58:29 2015 +0100| [6147305cf711499eb6a86a32126e8fd98a12c5b8] | committer: Jean-Baptiste Kempf
chromecast: make conn_status private and use getter/setter Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6147305cf711499eb6a86a32126e8fd98a12c5b8 --- modules/stream_out/chromecast/cast.cpp | 14 +++++------ modules/stream_out/chromecast/chromecast.h | 27 ++++++++++++++++++--- modules/stream_out/chromecast/chromecast_ctrl.cpp | 16 ++++++------ 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/modules/stream_out/chromecast/cast.cpp b/modules/stream_out/chromecast/cast.cpp index fed230c..cbbda7f 100644 --- a/modules/stream_out/chromecast/cast.cpp +++ b/modules/stream_out/chromecast/cast.cpp @@ -212,7 +212,7 @@ static int Open(vlc_object_t *p_this) Clean(p_stream); return VLC_EGENERIC; } - p_sys->p_intf->conn_status = CHROMECAST_TLS_CONNECTED; + p_sys->p_intf->setConnectionStatus(CHROMECAST_TLS_CONNECTED); char psz_localIP[NI_MAXNUMERICHOST]; if (net_GetSockAddress(p_sys->i_sock_fd, psz_localIP, NULL)) @@ -265,7 +265,7 @@ static int Open(vlc_object_t *p_this) int i_ret = 0; const mtime_t deadline = mdate() + 6 * CLOCK_FREQ; vlc_mutex_lock(&p_intf->lock); - while (p_sys->p_intf->conn_status != CHROMECAST_MEDIA_LOAD_SENT) + while (p_sys->p_intf->getConnectionStatus() != CHROMECAST_MEDIA_LOAD_SENT) { i_ret = vlc_cond_timedwait(&p_sys->p_intf->loadCommandCond, &p_intf->lock, deadline); if (i_ret == ETIMEDOUT) @@ -305,7 +305,7 @@ static void Close(vlc_object_t *p_this) vlc_cancel(p_sys->chromecastThread); vlc_join(p_sys->chromecastThread, NULL); - switch (p_sys->p_intf->conn_status) + switch (p_sys->p_intf->getConnectionStatus()) { case CHROMECAST_MEDIA_LOAD_SENT: case CHROMECAST_APP_STARTED: @@ -387,7 +387,7 @@ static void disconnectChromecast(sout_stream_t *p_stream) vlc_tls_SessionDelete(p_sys->p_tls); vlc_tls_Delete(p_sys->p_creds); p_sys->p_tls = NULL; - p_sys->p_intf->conn_status = CHROMECAST_DISCONNECTED; + p_sys->p_intf->setConnectionStatus(CHROMECAST_DISCONNECTED); } } @@ -599,7 +599,7 @@ static void* chromecastThread(void* p_data) { msg_Err(p_stream, "The connection to the Chromecast died."); vlc_mutex_locker locker(&p_sys->p_intf->lock); - p_sys->p_intf->conn_status = CHROMECAST_CONNECTION_DEAD; + p_sys->p_intf->setConnectionStatus(CHROMECAST_CONNECTION_DEAD); break; } @@ -628,12 +628,12 @@ static void* chromecastThread(void* p_data) { msg_Err(p_stream, "The connection to the Chromecast died."); vlc_mutex_locker locker(&p_sys->p_intf->lock); - p_sys->p_intf->conn_status = CHROMECAST_CONNECTION_DEAD; + p_sys->p_intf->setConnectionStatus(CHROMECAST_CONNECTION_DEAD); } } vlc_mutex_lock(&p_sys->p_intf->lock); - if ( p_sys->p_intf->conn_status == CHROMECAST_CONNECTION_DEAD ) + if ( p_sys->p_intf->getConnectionStatus() == CHROMECAST_CONNECTION_DEAD ) { vlc_mutex_unlock(&p_sys->p_intf->lock); break; diff --git a/modules/stream_out/chromecast/chromecast.h b/modules/stream_out/chromecast/chromecast.h index e982a38..bc827b6 100644 --- a/modules/stream_out/chromecast/chromecast.h +++ b/modules/stream_out/chromecast/chromecast.h @@ -31,6 +31,7 @@ #include <vlc_common.h> #include <vlc_plugin.h> +#include <vlc_sout.h> #include <queue> @@ -71,6 +72,24 @@ struct intf_sys_t void msgAuth(); void msgReceiverClose(std::string destinationId); + + connection_status getConnectionStatus() const + { + return conn_status; + } + + void setConnectionStatus(connection_status status) + { + if (conn_status != status) + { +#ifndef NDEBUG + msg_Dbg(p_stream, "change Chromecast connection status from %d to %d", conn_status, status); +#endif + conn_status = status; + vlc_cond_broadcast(&loadCommandCond); + } + } + void msgPing(); void msgPong(); void msgConnect(const std::string & destinationId = DEFAULT_CHOMECAST_RECEIVER); @@ -80,12 +99,14 @@ struct intf_sys_t void msgPlayerLoad(); - enum connection_status conn_status; - std::queue<castchannel::CastMessage> messagesToSend; - unsigned i_requestId; void processMessage(const castchannel::CastMessage &msg); + +private: + enum connection_status conn_status; + + unsigned i_requestId; }; #endif /* VLC_CHROMECAST_H */ diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp b/modules/stream_out/chromecast/chromecast_ctrl.cpp index e7dcc55..2847d7c 100644 --- a/modules/stream_out/chromecast/chromecast_ctrl.cpp +++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp @@ -111,7 +111,7 @@ void intf_sys_t::processMessage(const castchannel::CastMessage &msg) else { vlc_mutex_locker locker(&lock); - conn_status = CHROMECAST_AUTHENTICATED; + setConnectionStatus(CHROMECAST_AUTHENTICATED); msgConnect(DEFAULT_CHOMECAST_RECEIVER); msgReceiverLaunchApp(); } @@ -164,25 +164,25 @@ void intf_sys_t::processMessage(const castchannel::CastMessage &msg) if ( p_app ) { if (!appTransportId.empty() - && conn_status == CHROMECAST_AUTHENTICATED) + && getConnectionStatus() == CHROMECAST_AUTHENTICATED) { - conn_status = CHROMECAST_APP_STARTED; + setConnectionStatus(CHROMECAST_APP_STARTED); msgConnect(appTransportId); msgPlayerLoad(); - conn_status = CHROMECAST_MEDIA_LOAD_SENT; + setConnectionStatus(CHROMECAST_MEDIA_LOAD_SENT); vlc_cond_signal(&loadCommandCond); } } else { - switch(conn_status) + switch(getConnectionStatus()) { /* If the app is no longer present */ case CHROMECAST_APP_STARTED: case CHROMECAST_MEDIA_LOAD_SENT: msg_Warn(p_stream, "app is no longer present. closing"); msgReceiverClose(appTransportId); - conn_status = CHROMECAST_CONNECTION_DEAD; + setConnectionStatus(CHROMECAST_CONNECTION_DEAD); default: break; } @@ -214,7 +214,7 @@ void intf_sys_t::processMessage(const castchannel::CastMessage &msg) msg_Err(p_stream, "Media load failed"); msgReceiverClose(appTransportId); vlc_mutex_lock(&lock); - conn_status = CHROMECAST_CONNECTION_DEAD; + setConnectionStatus(CHROMECAST_CONNECTION_DEAD); vlc_mutex_unlock(&lock); } else @@ -235,7 +235,7 @@ void intf_sys_t::processMessage(const castchannel::CastMessage &msg) { msg_Warn(p_stream, "received close message"); vlc_mutex_lock(&lock); - conn_status = CHROMECAST_CONNECTION_DEAD; + setConnectionStatus(CHROMECAST_CONNECTION_DEAD); vlc_mutex_unlock(&lock); } else _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
