summaryrefslogtreecommitdiffstats
path: root/remoting/protocol/webrtc_connection_to_host.h
diff options
context:
space:
mode:
authorsergeyu <sergeyu@chromium.org>2016-01-19 09:42:06 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-19 17:43:07 +0000
commita45416062d1da32e2bb32ba6d952f36d4281594d (patch)
treea091bc06f0bd41bc91618b69dc889f3add9adcca /remoting/protocol/webrtc_connection_to_host.h
parent502412ae1a80ec2755aa798bdc398a26f8a0b495 (diff)
downloadchromium_src-a45416062d1da32e2bb32ba6d952f36d4281594d.zip
chromium_src-a45416062d1da32e2bb32ba6d952f36d4281594d.tar.gz
chromium_src-a45416062d1da32e2bb32ba6d952f36d4281594d.tar.bz2
Implement client-side video stream support for WebRTC-based protocol.
Added WebrtcVideoRenderer adapter that implements VideoRendererInterface and passes decoded frames to remoting::protocol::FrameConsumer BUG=547158 Review URL: https://codereview.chromium.org/1580823003 Cr-Commit-Position: refs/heads/master@{#370136}
Diffstat (limited to 'remoting/protocol/webrtc_connection_to_host.h')
-rw-r--r--remoting/protocol/webrtc_connection_to_host.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/remoting/protocol/webrtc_connection_to_host.h b/remoting/protocol/webrtc_connection_to_host.h
index 030adcc..755e4ce 100644
--- a/remoting/protocol/webrtc_connection_to_host.h
+++ b/remoting/protocol/webrtc_connection_to_host.h
@@ -23,6 +23,7 @@ namespace protocol {
class ClientControlDispatcher;
class ClientEventDispatcher;
class SessionConfig;
+class WebrtcVideoRendererAdapter;
class WebrtcConnectionToHost : public ConnectionToHost,
public Session::EventHandler,
@@ -54,6 +55,10 @@ class WebrtcConnectionToHost : public ConnectionToHost,
void OnWebrtcTransportConnecting() override;
void OnWebrtcTransportConnected() override;
void OnWebrtcTransportError(ErrorCode error) override;
+ void OnWebrtcTransportMediaStreamAdded(
+ scoped_refptr<webrtc::MediaStreamInterface> stream) override;
+ void OnWebrtcTransportMediaStreamRemoved(
+ scoped_refptr<webrtc::MediaStreamInterface> stream) override;
// ChannelDispatcherBase::EventHandler interface.
void OnChannelInitialized(ChannelDispatcherBase* channel_dispatcher) override;
@@ -70,6 +75,7 @@ class WebrtcConnectionToHost : public ConnectionToHost,
// Stub for incoming messages.
ClientStub* client_stub_ = nullptr;
+ VideoRenderer* video_renderer_ = nullptr;
ClipboardStub* clipboard_stub_ = nullptr;
scoped_ptr<Session> session_;
@@ -80,6 +86,8 @@ class WebrtcConnectionToHost : public ConnectionToHost,
ClipboardFilter clipboard_forwarder_;
InputFilter event_forwarder_;
+ scoped_ptr<WebrtcVideoRendererAdapter> video_adapter_;
+
// Internal state of the connection.
State state_ = INITIALIZING;
ErrorCode error_ = OK;