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

Unified Diff: remoting/host/host_attributes.cc

Issue 2941623003: [Chromoting] Use latest API to check whether DX capturer is supported (Closed)
Patch Set: Created 3 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/host/host_attributes.cc
diff --git a/remoting/host/host_attributes.cc b/remoting/host/host_attributes.cc
index 307d04e289fd66c4df9a4ed1219155dcf2904287..6f929867c2c6747aab5d04b1eb111741634092fd 100644
--- a/remoting/host/host_attributes.cc
+++ b/remoting/host/host_attributes.cc
@@ -67,7 +67,7 @@ inline constexpr bool IsNonOfficialBuild() {
#if defined(OS_WIN)
inline bool MinD3DFeatureLevelGreatThan10() {
webrtc::DxgiDuplicatorController::D3dInfo info;
- if (webrtc::DxgiDuplicatorController::Instance()->RetrieveD3dInfo(&info)) {
+ if (webrtc::ScreenCapturerWinDirectx::RetrieveD3dInfo(&info)) {
Sergey Ulanov 2017/06/26 23:55:23 Where is the change that made RetrieveD3dInfo() st
Hzj_jie 2017/06/27 04:37:28 No, it's always static (https://cs.chromium.org/ch
return info.min_feature_level >= D3D_FEATURE_LEVEL_10_0;
}
return false;
@@ -75,7 +75,7 @@ inline bool MinD3DFeatureLevelGreatThan10() {
inline bool MinD3DFeatureLevelGreatThan11() {
webrtc::DxgiDuplicatorController::D3dInfo info;
- if (webrtc::DxgiDuplicatorController::Instance()->RetrieveD3dInfo(&info)) {
+ if (webrtc::ScreenCapturerWinDirectx::RetrieveD3dInfo(&info)) {
return info.min_feature_level >= D3D_FEATURE_LEVEL_11_0;
}
return false;
@@ -83,7 +83,7 @@ inline bool MinD3DFeatureLevelGreatThan11() {
inline bool MinD3DFeatureLevelGreatThan12() {
webrtc::DxgiDuplicatorController::D3dInfo info;
- if (webrtc::DxgiDuplicatorController::Instance()->RetrieveD3dInfo(&info)) {
+ if (webrtc::ScreenCapturerWinDirectx::RetrieveD3dInfo(&info)) {
return info.min_feature_level >= D3D_FEATURE_LEVEL_12_0;
}
return false;
@@ -119,6 +119,11 @@ static constexpr Attribute kAttributes[] = {
static_assert(std::is_pod<Attribute>::value, "Attribute should be POD.");
std::string GetHostAttributes() {
+#if defined(OS_WIN)
+ // Ensure the following ScreenCapturerWinDirectx contructions won't
+ // initialize and unload DxgiDuplicatorController.
Sergey Ulanov 2017/06/26 23:55:23 This doesn't look like the best solution. GetHostA
Hzj_jie 2017/06/27 04:37:28 Done.
+ auto controller = webrtc::DxgiDuplicatorController::Instance();
+#endif
std::string result;
// By using ranged for-loop, MSVC throws error C3316:
// 'const remoting::StaticAttribute [0]':
@@ -133,6 +138,10 @@ std::string GetHostAttributes() {
result.append(attribute.name);
}
}
+#if defined(OS_WIN)
+ // Avoid the warning of unused variable.
+ controller = nullptr;
+#endif
return result;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698