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

Side by Side Diff: webrtc/modules/desktop_capture/win/screen_capture_utils.cc

Issue 2971393002: Output DeviceName from various windows ScreenCapturer related implementations (Closed)
Patch Set: Created 3 years, 5 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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
11 #include "webrtc/modules/desktop_capture/win/screen_capture_utils.h" 11 #include "webrtc/modules/desktop_capture/win/screen_capture_utils.h"
12 12
13 #include <windows.h> 13 #include <windows.h>
14 14
15 #include "webrtc/rtc_base/checks.h" 15 #include "webrtc/rtc_base/checks.h"
16 #include "webrtc/rtc_base/win32.h"
16 17
17 namespace webrtc { 18 namespace webrtc {
18 19
19 bool GetScreenList(DesktopCapturer::SourceList* screens) { 20 bool GetScreenList(DesktopCapturer::SourceList* screens) {
20 RTC_DCHECK(screens->size() == 0); 21 RTC_DCHECK(screens->size() == 0);
21 22
22 BOOL enum_result = TRUE; 23 BOOL enum_result = TRUE;
23 for (int device_index = 0;; ++device_index) { 24 for (int device_index = 0;; ++device_index) {
24 DISPLAY_DEVICE device; 25 DISPLAY_DEVICE device;
25 device.cb = sizeof(device); 26 device.cb = sizeof(device);
26 enum_result = EnumDisplayDevices(NULL, device_index, &device, 0); 27 enum_result = EnumDisplayDevices(NULL, device_index, &device, 0);
27 28
28 // |enum_result| is 0 if we have enumerated all devices. 29 // |enum_result| is 0 if we have enumerated all devices.
29 if (!enum_result) 30 if (!enum_result)
30 break; 31 break;
31 32
32 // We only care about active displays. 33 // We only care about active displays.
33 if (!(device.StateFlags & DISPLAY_DEVICE_ACTIVE)) 34 if (!(device.StateFlags & DISPLAY_DEVICE_ACTIVE))
34 continue; 35 continue;
35 36
36 screens->push_back({device_index, std::string()}); 37 screens->push_back({device_index, rtc::ToUtf8(device.DeviceName)});
Do not use (sergeyu) 2017/07/11 18:21:09 title field is normally used for the title strings
Hzj_jie 2017/07/11 19:09:25 The string is in format of \\.\Display{id}. But fo
Sergey Ulanov 2017/07/11 21:34:22 Even if this field is not used right now it's stil
Hzj_jie 2017/07/11 21:48:32 Done.
37 } 38 }
38 return true; 39 return true;
39 } 40 }
40 41
41 bool IsScreenValid(DesktopCapturer::SourceId screen, std::wstring* device_key) { 42 bool IsScreenValid(DesktopCapturer::SourceId screen, std::wstring* device_key) {
42 if (screen == kFullDesktopScreenId) { 43 if (screen == kFullDesktopScreenId) {
43 *device_key = L""; 44 *device_key = L"";
44 return true; 45 return true;
45 } 46 }
46 47
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 if (!result) 84 if (!result)
84 return DesktopRect(); 85 return DesktopRect();
85 86
86 return DesktopRect::MakeXYWH(device_mode.dmPosition.x, 87 return DesktopRect::MakeXYWH(device_mode.dmPosition.x,
87 device_mode.dmPosition.y, 88 device_mode.dmPosition.y,
88 device_mode.dmPelsWidth, 89 device_mode.dmPelsWidth,
89 device_mode.dmPelsHeight); 90 device_mode.dmPelsHeight);
90 } 91 }
91 92
92 } // namespace webrtc 93 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698