1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ 6 #define CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ 7 8 #include "base/basictypes.h" 9 #include "base/memory/ref_counted.h" 10 #include "net/base/host_port_pair.h" 11 12 class CastSession; 13 14 // This class represents the transport mechanism used by Cast RTP streams 15 // to connect to a remote client. It specifies the destination address 16 // and network protocol used to send Cast RTP streams. 17 class CastUdpTransport { 18 public: 19 explicit CastUdpTransport(const scoped_refptr<CastSession>& session); 20 ~CastUdpTransport(); 21 22 // Begin the transport by specifying the remote IP address. 23 // The transport will use UDP. 24 void Start(const net::IPEndPoint& remote_address); 25 26 private: 27 const scoped_refptr<CastSession> cast_session_; 28 29 DISALLOW_COPY_AND_ASSIGN(CastUdpTransport); 30 }; 31 32 #endif // CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ 33