| OLD | NEW | 
|   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 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_CROPPING_WINDOW_CAPTURER_H_ |  11 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_CROPPING_WINDOW_CAPTURER_H_ | 
|  12 #define WEBRTC_MODULES_DESKTOP_CAPTURE_CROPPING_WINDOW_CAPTURER_H_ |  12 #define WEBRTC_MODULES_DESKTOP_CAPTURE_CROPPING_WINDOW_CAPTURER_H_ | 
|  13  |  13  | 
|  14 #include <memory> |  14 #include <memory> | 
|  15  |  15  | 
|  16 #include "webrtc/modules/desktop_capture/desktop_capturer.h" |  16 #include "webrtc/modules/desktop_capture/desktop_capturer.h" | 
|  17 #include "webrtc/modules/desktop_capture/desktop_capture_options.h" |  17 #include "webrtc/modules/desktop_capture/desktop_capture_options.h" | 
|  18  |  18  | 
|  19 namespace webrtc { |  19 namespace webrtc { | 
|  20  |  20  | 
|  21 // WindowCapturer implementation that uses a screen capturer to capture the |  21 // WindowCapturer implementation that uses a screen capturer to capture the | 
|  22 // whole screen and crops the video frame to the window area when the captured |  22 // whole screen and crops the video frame to the window area when the captured | 
|  23 // window is on top. |  23 // window is on top. | 
|  24 class CroppingWindowCapturer : public DesktopCapturer, |  24 class CroppingWindowCapturer : public DesktopCapturer, | 
|  25                                public DesktopCapturer::Callback { |  25                                public DesktopCapturer::Callback { | 
|  26  public: |  26  public: | 
 |  27   // Deprecated, use CreateCapturer() | 
|  27   static DesktopCapturer* Create(const DesktopCaptureOptions& options); |  28   static DesktopCapturer* Create(const DesktopCaptureOptions& options); | 
 |  29   static std::unique_ptr<DesktopCapturer> CreateCapturer( | 
 |  30       const DesktopCaptureOptions& options); | 
 |  31  | 
|  28   ~CroppingWindowCapturer() override; |  32   ~CroppingWindowCapturer() override; | 
|  29  |  33  | 
|  30   // DesktopCapturer implementation. |  34   // DesktopCapturer implementation. | 
|  31   void Start(DesktopCapturer::Callback* callback) override; |  35   void Start(DesktopCapturer::Callback* callback) override; | 
|  32   void SetSharedMemoryFactory( |  36   void SetSharedMemoryFactory( | 
|  33       std::unique_ptr<SharedMemoryFactory> shared_memory_factory) override; |  37       std::unique_ptr<SharedMemoryFactory> shared_memory_factory) override; | 
|  34   void CaptureFrame() override; |  38   void CaptureFrame() override; | 
|  35   void SetExcludedWindow(WindowId window) override; |  39   void SetExcludedWindow(WindowId window) override; | 
|  36   bool GetSourceList(SourceList* sources) override; |  40   bool GetSourceList(SourceList* sources) override; | 
|  37   bool SelectSource(SourceId id) override; |  41   bool SelectSource(SourceId id) override; | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
|  65   std::unique_ptr<DesktopCapturer> window_capturer_; |  69   std::unique_ptr<DesktopCapturer> window_capturer_; | 
|  66   std::unique_ptr<DesktopCapturer> screen_capturer_; |  70   std::unique_ptr<DesktopCapturer> screen_capturer_; | 
|  67   SourceId selected_window_; |  71   SourceId selected_window_; | 
|  68   WindowId excluded_window_; |  72   WindowId excluded_window_; | 
|  69 }; |  73 }; | 
|  70  |  74  | 
|  71 }  // namespace webrtc |  75 }  // namespace webrtc | 
|  72  |  76  | 
|  73 #endif  // WEBRTC_MODULES_DESKTOP_CAPTURE_CROPPING_WINDOW_CAPTURER_H_ |  77 #endif  // WEBRTC_MODULES_DESKTOP_CAPTURE_CROPPING_WINDOW_CAPTURER_H_ | 
|  74  |  78  | 
| OLD | NEW |