OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
281 static_cast<UINT>(metadata_.capacity()) - buff_size, dirty_rects, | 281 static_cast<UINT>(metadata_.capacity()) - buff_size, dirty_rects, |
282 &buff_size); | 282 &buff_size); |
283 if (error.Error() != S_OK) { | 283 if (error.Error() != S_OK) { |
284 LOG(LS_ERROR) << "Failed to get dirty rectangles, error " | 284 LOG(LS_ERROR) << "Failed to get dirty rectangles, error " |
285 << error.ErrorMessage() << ", code " << error.Error(); | 285 << error.ErrorMessage() << ", code " << error.Error(); |
286 return false; | 286 return false; |
287 } | 287 } |
288 dirty_rects_count = buff_size / sizeof(RECT); | 288 dirty_rects_count = buff_size / sizeof(RECT); |
289 | 289 |
290 while (move_rects_count > 0) { | 290 while (move_rects_count > 0) { |
291 updated_region->AddRect( | 291 if (move_rects->SourcePoint.x != move_rects->DestinationRect.left || |
Sergey Ulanov
2017/03/14 19:47:27
Do you know why the API returns unmoved rects? Do
Hzj_jie
2017/03/14 23:22:49
No idea about this. I just randomly tried this ide
| |
292 RotateRect(DesktopRect::MakeXYWH(move_rects->SourcePoint.x, | 292 move_rects->SourcePoint.y != move_rects->DestinationRect.top) { |
293 move_rects->SourcePoint.y, | 293 updated_region->AddRect( |
294 move_rects->DestinationRect.right - | 294 RotateRect(DesktopRect::MakeXYWH(move_rects->SourcePoint.x, |
295 move_rects->DestinationRect.left, | 295 move_rects->SourcePoint.y, |
296 move_rects->DestinationRect.bottom - | 296 move_rects->DestinationRect.right - |
297 move_rects->DestinationRect.top), | 297 move_rects->DestinationRect.left, |
298 unrotated_size_, rotation_)); | 298 move_rects->DestinationRect.bottom - |
299 updated_region->AddRect( | 299 move_rects->DestinationRect.top), |
300 RotateRect(DesktopRect::MakeLTRB(move_rects->DestinationRect.left, | 300 unrotated_size_, rotation_)); |
301 move_rects->DestinationRect.top, | 301 updated_region->AddRect( |
302 move_rects->DestinationRect.right, | 302 RotateRect(DesktopRect::MakeLTRB(move_rects->DestinationRect.left, |
303 move_rects->DestinationRect.bottom), | 303 move_rects->DestinationRect.top, |
304 unrotated_size_, rotation_)); | 304 move_rects->DestinationRect.right, |
305 move_rects->DestinationRect.bottom), | |
306 unrotated_size_, rotation_)); | |
307 } | |
305 move_rects++; | 308 move_rects++; |
306 move_rects_count--; | 309 move_rects_count--; |
307 } | 310 } |
308 | 311 |
309 while (dirty_rects_count > 0) { | 312 while (dirty_rects_count > 0) { |
310 updated_region->AddRect(RotateRect( | 313 updated_region->AddRect(RotateRect( |
311 DesktopRect::MakeLTRB(dirty_rects->left, dirty_rects->top, | 314 DesktopRect::MakeLTRB(dirty_rects->left, dirty_rects->top, |
312 dirty_rects->right, dirty_rects->bottom), | 315 dirty_rects->right, dirty_rects->bottom), |
313 unrotated_size_, rotation_)); | 316 unrotated_size_, rotation_)); |
314 dirty_rects++; | 317 dirty_rects++; |
(...skipping 28 matching lines...) Expand all Loading... | |
343 } | 346 } |
344 | 347 |
345 int64_t DxgiOutputDuplicator::num_frames_captured() const { | 348 int64_t DxgiOutputDuplicator::num_frames_captured() const { |
346 #if !defined(NDEBUG) | 349 #if !defined(NDEBUG) |
347 RTC_DCHECK_EQ(!!last_frame_, num_frames_captured_ > 0); | 350 RTC_DCHECK_EQ(!!last_frame_, num_frames_captured_ > 0); |
348 #endif | 351 #endif |
349 return num_frames_captured_; | 352 return num_frames_captured_; |
350 } | 353 } |
351 | 354 |
352 } // namespace webrtc | 355 } // namespace webrtc |
OLD | NEW |