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

Unified Diff: content/browser/media/capture/desktop_capture_device.cc

Issue 2961193002: Use same DesktopCaptureOptions in DesktopCaptureBase and DesktopCaptureDevice (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
Index: content/browser/media/capture/desktop_capture_device.cc
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
index 98be881ce644212868d4bf15c8812d5f93b42420..d74237ff484329ff75e05f538524b7b5306eb192 100644
--- a/content/browser/media/capture/desktop_capture_device.cc
+++ b/content/browser/media/capture/desktop_capture_device.cc
@@ -77,12 +77,29 @@ std::unique_ptr<service_manager::Connector> GetServiceConnector() {
return connector->Clone();
}
-} // namespace
-
+// Creates a DesktopCaptureOptions with required settings. This function should
+// be consistent with CreateDesktopCaptureOptions() function in
+// desktop_capture_base.cc file at
+// https://cs.chromium.org/chromium/src/chrome/browser/extensions/api/desktop_capture/desktop_capture_base.cc
+webrtc::DesktopCaptureOptions CreateDesktopCaptureOptions() {
+ auto options = webrtc::DesktopCaptureOptions::CreateDefault();
+ // Leave desktop effects enabled during WebRTC captures.
+ options.set_disable_effects(false);
#if defined(OS_WIN)
-const base::Feature kDirectXCapturer{"DirectXCapturer",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ static constexpr base::Feature kDirectXCapturer{
+ "DirectXCapturer",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+ if (base::FeatureList::IsEnabled(kDirectXCapturer)) {
+ options.set_allow_directx_capturer(true);
+ options.set_allow_use_magnification_api(false);
+ } else {
+ options.set_allow_use_magnification_api(true);
+ }
#endif
+ return options;
+}
+
+} // namespace
class DesktopCaptureDevice::Core : public webrtc::DesktopCapturer::Callback {
public:
@@ -401,20 +418,7 @@ void DesktopCaptureDevice::Core::RequestWakeLock(
// static
std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
const DesktopMediaID& source) {
- webrtc::DesktopCaptureOptions options =
- webrtc::DesktopCaptureOptions::CreateDefault();
- // Leave desktop effects enabled during WebRTC captures.
- options.set_disable_effects(false);
-
-#if defined(OS_WIN)
- if (!base::FeatureList::IsEnabled(kDirectXCapturer)) {
- options.set_allow_use_magnification_api(true);
- } else {
- options.set_allow_directx_capturer(true);
- options.set_allow_use_magnification_api(false);
- }
-#endif
-
+ auto options = CreateDesktopCaptureOptions();
std::unique_ptr<webrtc::DesktopCapturer> capturer;
switch (source.type) {

Powered by Google App Engine
This is Rietveld 408576698