Index: webrtc/modules/desktop_capture/screen_capturer_mac.mm |
diff --git a/webrtc/modules/desktop_capture/screen_capturer_mac.mm b/webrtc/modules/desktop_capture/screen_capturer_mac.mm |
index f8d8eb7ce5fa22b38bbc5868d173bbf274e86f56..34f5087442a035e62dae709936f960b9d24f4fc7 100644 |
--- a/webrtc/modules/desktop_capture/screen_capturer_mac.mm |
+++ b/webrtc/modules/desktop_capture/screen_capturer_mac.mm |
@@ -8,8 +8,6 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
-#include "webrtc/modules/desktop_capture/screen_capturer.h" |
- |
#include <stddef.h> |
#include <memory> |
@@ -27,6 +25,7 @@ |
#include "webrtc/base/constructormagic.h" |
#include "webrtc/base/macutils.h" |
#include "webrtc/base/timeutils.h" |
+#include "webrtc/modules/desktop_capture/desktop_capturer.h" |
#include "webrtc/modules/desktop_capture/desktop_capture_options.h" |
#include "webrtc/modules/desktop_capture/desktop_frame.h" |
#include "webrtc/modules/desktop_capture/desktop_geometry.h" |
@@ -35,7 +34,6 @@ |
#include "webrtc/modules/desktop_capture/mac/desktop_configuration_monitor.h" |
#include "webrtc/modules/desktop_capture/mac/scoped_pixel_buffer_object.h" |
#include "webrtc/modules/desktop_capture/screen_capture_frame_queue.h" |
-#include "webrtc/modules/desktop_capture/screen_capturer_differ_wrapper.h" |
#include "webrtc/modules/desktop_capture/screen_capturer_helper.h" |
#include "webrtc/modules/desktop_capture/shared_desktop_frame.h" |
#include "webrtc/system_wrappers/include/logging.h" |
@@ -275,7 +273,7 @@ CGImageRef CreateExcludedWindowRegionImage(const DesktopRect& pixel_bounds, |
} |
// A class to perform video frame capturing for mac. |
-class ScreenCapturerMac : public ScreenCapturer { |
+class ScreenCapturerMac : public DesktopCapturer { |
public: |
explicit ScreenCapturerMac( |
rtc::scoped_refptr<DesktopConfigurationMonitor> desktop_config_monitor); |
@@ -283,12 +281,12 @@ class ScreenCapturerMac : public ScreenCapturer { |
bool Init(); |
- // Overridden from ScreenCapturer: |
+ // DesktopCapturer interface. |
void Start(Callback* callback) override; |
void CaptureFrame() override; |
void SetExcludedWindow(WindowId window) override; |
- bool GetScreenList(ScreenList* screens) override; |
- bool SelectScreen(ScreenId id) override; |
+ bool GetSourceList(SourceList* screens) override; |
+ bool SelectSource(SourceId id) override; |
private: |
void GlBlitFast(const DesktopFrame& frame, |
@@ -499,26 +497,22 @@ void ScreenCapturerMac::SetExcludedWindow(WindowId window) { |
excluded_window_ = window; |
} |
-bool ScreenCapturerMac::GetScreenList(ScreenList* screens) { |
+bool ScreenCapturerMac::GetSourceList(SourceList* screens) { |
assert(screens->size() == 0); |
if (rtc::GetOSVersionName() < rtc::kMacOSLion) { |
// Single monitor cast is not supported on pre OS X 10.7. |
- Screen screen; |
- screen.id = kFullDesktopScreenId; |
- screens->push_back(screen); |
+ screens->push_back({kFullDesktopScreenId}); |
return true; |
} |
for (MacDisplayConfigurations::iterator it = desktop_config_.displays.begin(); |
it != desktop_config_.displays.end(); ++it) { |
- Screen screen; |
- screen.id = static_cast<ScreenId>(it->id); |
- screens->push_back(screen); |
+ screens->push_back({it->id}); |
} |
return true; |
} |
-bool ScreenCapturerMac::SelectScreen(ScreenId id) { |
+bool ScreenCapturerMac::SelectSource(SourceId id) { |
if (rtc::GetOSVersionName() < rtc::kMacOSLion) { |
// Ignore the screen selection on unsupported OS. |
assert(!current_display_); |
@@ -1020,32 +1014,14 @@ std::unique_ptr<DesktopFrame> ScreenCapturerMac::CreateFrame() { |
} // namespace |
// static |
-ScreenCapturer* ScreenCapturer::Create(const DesktopCaptureOptions& options) { |
- if (!options.configuration_monitor()) |
- return nullptr; |
- |
- std::unique_ptr<ScreenCapturer> capturer( |
- new ScreenCapturerMac(options.configuration_monitor())); |
- if (!static_cast<ScreenCapturerMac*>(capturer.get())->Init()) { |
- return nullptr; |
- } |
- |
- if (options.detect_updated_region()) { |
- capturer.reset(new ScreenCapturerDifferWrapper(std::move(capturer))); |
- } |
- |
- return capturer.release(); |
-} |
- |
-// static |
std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer( |
const DesktopCaptureOptions& options) { |
if (!options.configuration_monitor()) |
return nullptr; |
- std::unique_ptr<ScreenCapturer> capturer( |
+ std::unique_ptr<ScreenCapturerMac> capturer( |
new ScreenCapturerMac(options.configuration_monitor())); |
- if (!static_cast<ScreenCapturerMac*>(capturer.get())->Init()) { |
+ if (!capturer.get()->Init()) { |
return nullptr; |
} |