| Index: remoting/host/client_session.cc
|
| diff --git a/remoting/host/client_session.cc b/remoting/host/client_session.cc
|
| index da9c63c0a4820005f6d44f5c56c1f66fddf65c83..05da647794eb0cb463e862baff379a6f3dfe0fa9 100644
|
| --- a/remoting/host/client_session.cc
|
| +++ b/remoting/host/client_session.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/thread_task_runner_handle.h"
|
| #include "build/build_config.h"
|
| #include "remoting/base/capabilities.h"
|
| +#include "remoting/base/constants.h"
|
| #include "remoting/base/logging.h"
|
| #include "remoting/codec/audio_encoder.h"
|
| #include "remoting/codec/audio_encoder_opus.h"
|
| @@ -34,9 +35,6 @@
|
| #include "remoting/protocol/video_frame_pump.h"
|
| #include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h"
|
|
|
| -// Default DPI to assume for old clients that use notifyClientDimensions.
|
| -const int kDefaultDPI = 96;
|
| -
|
| namespace remoting {
|
|
|
| namespace {
|
| @@ -133,7 +131,7 @@ void ClientSession::NotifyClientResolution(
|
|
|
| ScreenResolution client_resolution(
|
| webrtc::DesktopSize(resolution.dips_width(), resolution.dips_height()),
|
| - webrtc::DesktopVector(kDefaultDPI, kDefaultDPI));
|
| + webrtc::DesktopVector(kDefaultDpi, kDefaultDpi));
|
|
|
| // Try to match the client's resolution.
|
| screen_controls_->SetScreenResolution(client_resolution);
|
| @@ -458,10 +456,25 @@ scoped_ptr<protocol::ClipboardStub> ClientSession::CreateClipboardProxy() {
|
| base::ThreadTaskRunnerHandle::Get()));
|
| }
|
|
|
| -void ClientSession::OnScreenSizeChanged(const webrtc::DesktopSize& size) {
|
| +void ClientSession::OnScreenSizeChanged(const webrtc::DesktopSize& size,
|
| + const webrtc::DesktopVector& dpi) {
|
| DCHECK(CalledOnValidThread());
|
| +
|
| mouse_clamping_filter_.set_input_size(size);
|
| mouse_clamping_filter_.set_output_size(size);
|
| +
|
| + if (connection_->session()->config().protocol() ==
|
| + protocol::SessionConfig::Protocol::WEBRTC) {
|
| + protocol::VideoLayout layout;
|
| + protocol::VideoTrackLayout* video_track = layout.add_video_track();
|
| + video_track->set_position_x(0);
|
| + video_track->set_position_y(0);
|
| + video_track->set_width(size.width() * kDefaultDpi / dpi.x());
|
| + video_track->set_height(size.height() * kDefaultDpi / dpi.y());
|
| + video_track->set_x_dpi(dpi.x());
|
| + video_track->set_y_dpi(dpi.y());
|
| + connection_->client_stub()->SetVideoLayout(layout);
|
| + }
|
| }
|
|
|
| } // namespace remoting
|
|
|