Chromium Code Reviews| Index: chrome/renderer/media/cast_session.h |
| diff --git a/chrome/renderer/media/cast_session.h b/chrome/renderer/media/cast_session.h |
| index 6bec7f9a3f16d949d9446c225e75ad18134044c6..85e5ba10df41098db931e232d636716e05781baf 100644 |
| --- a/chrome/renderer/media/cast_session.h |
| +++ b/chrome/renderer/media/cast_session.h |
| @@ -8,6 +8,7 @@ |
| #include "base/basictypes.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "net/base/ip_endpoint.h" |
| namespace base { |
| class MessageLoopProxy; |
| @@ -20,6 +21,10 @@ struct VideoSenderConfig; |
| } // namespace cast |
| } // namespace media |
| +namespace content{ |
| +class P2PSocketClient; |
| +}; |
|
Sergey Ulanov
2013/12/07 01:15:29
nit: remove ;, add comment as for other namespaces
hubbe
2013/12/10 18:25:57
Done.
|
| + |
| class CastSessionDelegate; |
| // This class represents a Cast session and allows the session to be |
| @@ -33,6 +38,24 @@ class CastSession : public base::RefCounted<CastSession> { |
| void StartAudio(const media::cast::AudioSenderConfig& config); |
| void StartVideo(const media::cast::VideoSenderConfig& config); |
| + class SocketFactory { |
|
Sergey Ulanov
2013/12/07 01:15:29
maybe P2PSocketFactory - these are not regular soc
hubbe
2013/12/10 18:25:57
Done.
|
| + public: |
| + virtual ~SocketFactory(); |
| + |
| + // Called on IO thread. |
| + virtual scoped_refptr<content::P2PSocketClient> create() = 0; |
|
Sergey Ulanov
2013/12/07 01:15:29
Create()
hubbe
2013/12/10 18:25:57
Done.
|
| + }; |
| + |
| + // Send the socket factory to the delegate, where create will be |
| + // called. The delegate will then delete the socket factory on the |
| + // IO thread. We do it this way because the P2P socket needs to |
| + // be created on the same thread that the callbacks will be called on. |
| + // The |remote_endpoint| is the address will be used when calling |
| + // SendWithDscp on the P2PSocketClient. |
| + // Takes ownership of socket_factory. |
| + void SetSocketFactory(scoped_ptr<SocketFactory> socket_factory, |
| + const net::IPEndPoint& remote_address); |
| + |
| private: |
| friend class base::RefCounted<CastSession>; |
| virtual ~CastSession(); |