| Index: remoting/host/client_session.cc
|
| diff --git a/remoting/host/client_session.cc b/remoting/host/client_session.cc
|
| index 55e4decc1ca3bb70e29df4836cd787e0f1fbed1c..212fca0a5b13995760b293c0ba1f3bc0fe7552c2 100644
|
| --- a/remoting/host/client_session.cc
|
| +++ b/remoting/host/client_session.cc
|
| @@ -22,6 +22,7 @@
|
| #include "remoting/host/input_injector.h"
|
| #include "remoting/host/screen_controls.h"
|
| #include "remoting/host/screen_resolution.h"
|
| +#include "remoting/host/video_frame_recorder.h"
|
| #include "remoting/host/video_scheduler.h"
|
| #include "remoting/proto/control.pb.h"
|
| #include "remoting/proto/event.pb.h"
|
| @@ -318,6 +319,12 @@ void ClientSession::OnConnectionAuthenticated(
|
| scoped_ptr<VideoEncoder> video_encoder =
|
| CreateVideoEncoder(connection_->session()->config());
|
|
|
| + // If video recording is enabled, wrap the encoder with the recorder.
|
| + if (video_frame_recorder_) {
|
| + video_encoder = video_frame_recorder_->WrapVideoEncoder(
|
| + video_encoder.Pass());
|
| + }
|
| +
|
| // Create a VideoScheduler to pump frames from the capturer to the client.
|
| video_scheduler_ = new VideoScheduler(
|
| video_capture_task_runner_,
|
| @@ -469,9 +476,20 @@ void ClientSession::SetDisableInputs(bool disable_inputs) {
|
|
|
| void ClientSession::SetGnubbyAuthHandlerForTesting(
|
| GnubbyAuthHandler* gnubby_auth_handler) {
|
| + DCHECK(CalledOnValidThread());
|
| gnubby_auth_handler_.reset(gnubby_auth_handler);
|
| }
|
|
|
| +void ClientSession::set_video_frame_recorder(
|
| + scoped_ptr<VideoFrameRecorder> recorder) {
|
| + DCHECK(CalledOnValidThread());
|
| + video_frame_recorder_ = recorder.Pass();
|
| +}
|
| +
|
| +VideoFrameRecorder* ClientSession::video_frame_recorder() const {
|
| + return video_frame_recorder_.get();
|
| +}
|
| +
|
| scoped_ptr<protocol::ClipboardStub> ClientSession::CreateClipboardProxy() {
|
| DCHECK(CalledOnValidThread());
|
|
|
|
|