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(); |