Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(831)

Unified Diff: webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.cc

Issue 2268093002: [WebRTC] A real ScreenCapturer test (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Resolve review comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.cc
diff --git a/webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.cc b/webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.cc
index 46a345846e668299a4203925d5e75f7dd163c6e1..0276f6b94155065c3b9898789332c4da8ba63165 100644
--- a/webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.cc
+++ b/webrtc/modules/desktop_capture/win/dxgi_duplicator_controller.cc
@@ -176,39 +176,33 @@ void DxgiDuplicatorController::Setup(Context* context) {
}
bool DxgiDuplicatorController::Duplicate(Context* context,
- const DesktopFrame* last_frame,
- DesktopFrame* target) {
- return DoDuplicate(context, -1, last_frame, target);
+ SharedDesktopFrame* target) {
+ return DoDuplicate(context, -1, target);
}
bool DxgiDuplicatorController::DuplicateMonitor(Context* context,
int monitor_id,
- const DesktopFrame* last_frame,
- DesktopFrame* target) {
+ SharedDesktopFrame* target) {
RTC_DCHECK_GE(monitor_id, 0);
- return DoDuplicate(context, monitor_id, last_frame, target);
+ return DoDuplicate(context, monitor_id, target);
}
bool DxgiDuplicatorController::DoDuplicate(Context* context,
int monitor_id,
- const DesktopFrame* last_frame,
- DesktopFrame* target) {
+ SharedDesktopFrame* target) {
RTC_DCHECK(target);
- if (last_frame && !target->size().equals(last_frame->size())) {
- return false;
- }
target->mutable_updated_region()->Clear();
rtc::CritScope lock(&lock_);
if (!Initialize()) {
// Cannot initialize COM components now, display mode may be changing.
return false;
}
+
Setup(context);
if (monitor_id < 0) {
// Capture entire screen.
for (size_t i = 0; i < duplicators_.size(); i++) {
- if (!duplicators_[i].Duplicate(&context->contexts_[i], last_frame,
- target)) {
+ if (!duplicators_[i].Duplicate(&context->contexts_[i], target)) {
Deinitialize();
return false;
}
@@ -224,7 +218,7 @@ bool DxgiDuplicatorController::DoDuplicate(Context* context,
monitor_id -= duplicators_[i].screen_count();
} else {
if (duplicators_[i].DuplicateMonitor(&context->contexts_[i], monitor_id,
- last_frame, target)) {
+ target)) {
target->set_dpi(dpi());
return true;
}

Powered by Google App Engine
This is Rietveld 408576698