1 /* 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 3 * 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 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #include "webrtc/modules/desktop_capture/desktop_capture_options.h" 12 13 namespace webrtc { 14 15 DesktopCaptureOptions::DesktopCaptureOptions() 16 : use_update_notifications_(true), 17 disable_effects_(true) { 18 #if defined(USE_X11) 19 // XDamage is often broken, so don't use it by default. 20 use_update_notifications_ = false; 21 #endif 22 23 #if defined(WEBRTC_WIN) 24 allow_use_magnification_api_ = false; 25 #endif 26 } 27 28 DesktopCaptureOptions::~DesktopCaptureOptions() {} 29 30 // static 31 DesktopCaptureOptions DesktopCaptureOptions::CreateDefault() { 32 DesktopCaptureOptions result; 33 #if defined(USE_X11) 34 result.set_x_display(SharedXDisplay::CreateDefault()); 35 #endif 36 #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) 37 result.set_configuration_monitor(new DesktopConfigurationMonitor()); 38 result.set_full_screen_chrome_window_detector( 39 new FullScreenChromeWindowDetector()); 40 #endif 41 return result; 42 } 43 44 } // namespace webrtc 45