vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Fri Mar 3 20:19:46 2017 +0200| [ea077d92aa077dc9c085adc268d769febba76f33] | committer: Rémi Denis-Courmont
chromecast: use vlc_tls_SocketOpenTLS(), simplify > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ea077d92aa077dc9c085adc268d769febba76f33 --- modules/stream_out/chromecast/chromecast.h | 1 - .../chromecast/chromecast_communication.cpp | 25 ++++++++-------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/modules/stream_out/chromecast/chromecast.h b/modules/stream_out/chromecast/chromecast.h index 73067d1..7e488bf 100644 --- a/modules/stream_out/chromecast/chromecast.h +++ b/modules/stream_out/chromecast/chromecast.h @@ -127,7 +127,6 @@ private: private: vlc_object_t* m_module; - int m_sock_fd; vlc_tls_creds_t *m_creds; vlc_tls_t *m_tls; unsigned m_receiver_requestId; diff --git a/modules/stream_out/chromecast/chromecast_communication.cpp b/modules/stream_out/chromecast/chromecast_communication.cpp index 1aa3051..53ac920 100644 --- a/modules/stream_out/chromecast/chromecast_communication.cpp +++ b/modules/stream_out/chromecast/chromecast_communication.cpp @@ -37,7 +37,6 @@ ChromecastCommunication::ChromecastCommunication( vlc_object_t* p_module, const char* targetIP, unsigned int devicePort ) : m_module( p_module ) - , m_sock_fd( -1 ) , m_creds( NULL ) , m_tls( NULL ) , m_receiver_requestId( 0 ) @@ -45,30 +44,24 @@ ChromecastCommunication::ChromecastCommunication( vlc_object_t* p_module, const { if (devicePort == 0) devicePort = CHROMECAST_CONTROL_PORT; - m_sock_fd = net_ConnectTCP( m_module, targetIP, devicePort); - if (m_sock_fd < 0) - throw std::runtime_error( "Failed to connect to the chromecast" ); - - char psz_localIP[NI_MAXNUMERICHOST]; - if ( net_GetSockAddress( m_sock_fd, psz_localIP, NULL ) ) - throw std::runtime_error( "Cannot get local IP address" ); - m_serverIp = psz_localIP; m_creds = vlc_tls_ClientCreate( m_module->obj.parent ); if (m_creds == NULL) - { - net_Close(m_sock_fd); throw std::runtime_error( "Failed to create TLS client" ); - } - - m_tls = vlc_tls_ClientSessionCreateFD( m_creds, m_sock_fd, targetIP, "tcps", NULL, NULL ); + m_tls = vlc_tls_SocketOpenTLS( m_creds, targetIP, devicePort, "tcps", + NULL, NULL ); if (m_tls == NULL) { - net_Close(m_sock_fd); vlc_tls_Delete(m_creds); throw std::runtime_error( "Failed to create client session" ); } + + char psz_localIP[NI_MAXNUMERICHOST]; + if (net_GetSockAddress( vlc_tls_GetFD(m_tls), psz_localIP, NULL )) + throw std::runtime_error( "Cannot get local IP address" ); + + m_serverIp = psz_localIP; } ChromecastCommunication::~ChromecastCommunication() @@ -127,7 +120,7 @@ ssize_t ChromecastCommunication::receive( uint8_t *p_data, size_t i_size, int i_ { ssize_t i_received = 0; struct pollfd ufd[1]; - ufd[0].fd = m_sock_fd; + ufd[0].fd = vlc_tls_GetFD( m_tls ); ufd[0].events = POLLIN; struct iovec iov; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
