Index: webrtc/media/base/videocapturer.cc |
diff --git a/webrtc/media/base/videocapturer.cc b/webrtc/media/base/videocapturer.cc |
index 2d6a15e544046e3ee768ae7b39e4c8a18251cca0..de6ed0377d4a58179942b718d5c58f104c666daa 100644 |
--- a/webrtc/media/base/videocapturer.cc |
+++ b/webrtc/media/base/videocapturer.cc |
@@ -334,6 +334,16 @@ void VideoCapturer::OnSinkWantsChanged(const rtc::VideoSinkWants& wants) { |
if (frame_factory_) { |
frame_factory_->SetApplyRotation(apply_rotation_); |
} |
+ |
+ // Do not adapt resolution for screen content as this will likely result in |
+ // blurry and unreadable text. |
+ if (!IsScreencast() && video_adapter() && wants.resolution) { |
+ video_adapter()->OnCpuResolutionRequest( |
+ wants.resolution->request == |
+ rtc::VideoSinkWants::ResolutionRequest::kLargerThan |
+ ? CoordinatedVideoAdapter::UPGRADE |
+ : CoordinatedVideoAdapter::DOWNGRADE); |
+ } |
} |
void VideoCapturer::OnFrameCaptured(VideoCapturer*, |