Chromium Code Reviews| Index: webrtc/modules/desktop_capture/win/screen_capturer_win_directx.h |
| diff --git a/webrtc/modules/desktop_capture/win/screen_capturer_win_directx.h b/webrtc/modules/desktop_capture/win/screen_capturer_win_directx.h |
| index d477991e7370be79cc17fd1505c67e3c2c51ab8d..55817a051b0989fb8f5fbf0470dc690d1f128f97 100644 |
| --- a/webrtc/modules/desktop_capture/win/screen_capturer_win_directx.h |
| +++ b/webrtc/modules/desktop_capture/win/screen_capturer_win_directx.h |
| @@ -13,20 +13,10 @@ |
| #include "webrtc/modules/desktop_capture/screen_capturer.h" |
| -#include <comdef.h> |
| -#include <D3DCommon.h> |
| -#include <D3D11.h> |
| -#include <DXGI.h> |
| -#include <DXGI1_2.h> |
| -#include <windows.h> |
| -#include <wrl/client.h> |
| - |
| #include <memory> |
| #include <vector> |
| -#include "webrtc/base/thread_annotations.h" |
| #include "webrtc/modules/desktop_capture/desktop_capture_options.h" |
| -#include "webrtc/modules/desktop_capture/desktop_geometry.h" |
| #include "webrtc/modules/desktop_capture/desktop_region.h" |
| #include "webrtc/modules/desktop_capture/screen_capture_frame_queue.h" |
| #include "webrtc/modules/desktop_capture/shared_desktop_frame.h" |
| @@ -53,48 +43,17 @@ class ScreenCapturerWinDirectx : public ScreenCapturer { |
| bool SelectScreen(ScreenId id) override; |
| private: |
| - // Texture is a pair of an ID3D11Texture2D and an IDXGISurface. Refer to its |
| - // implementation in source code for details. |
| - class Texture; |
| - |
| - // An implementation of DesktopFrame to return data from a Texture instance. |
| - class DxgiDesktopFrame; |
| - |
| - static bool DoInitialize(); |
| - |
| - // Initializes DxgiOutputDuplication. If current DxgiOutputDuplication |
| - // instance is existing, this function takes no-op and returns true. Returns |
| - // false if it fails to execute windows api. |
| - static bool DuplicateOutput(); |
| - |
| - // Deprecates current DxgiOutputDuplication instance and calls DuplicateOutput |
| - // to reinitialize it. |
| - static bool ForceDuplicateOutput(); |
| - |
| - // Detects update regions in last frame, if anything wrong, returns false. |
| - // ProcessFrame will insert a whole desktop size as updated region instead. |
| - static bool DetectUpdatedRegion(const DXGI_OUTDUPL_FRAME_INFO& frame_info, |
| - DesktopRegion* updated_region); |
| - |
| - // A helper function to handle _com_error result in DetectUpdatedRegion. |
| - // Returns false if the _com_error shows an error. |
| - static bool HandleDetectUpdatedRegionError(const _com_error& error, |
| - const char* stage); |
| - |
| - // Processes one frame received from AcquireNextFrame function, returns a |
| - // nullptr if anything wrong. |
| - std::unique_ptr<DesktopFrame> ProcessFrame( |
| - const DXGI_OUTDUPL_FRAME_INFO& frame_info, |
| - IDXGIResource* resource); |
| - |
| - // A shortcut to execute callback with current frame in frames. |
| - void EmitCurrentFrame(); |
| - |
| - ScreenCaptureFrameQueue<rtc::scoped_refptr<Texture>> surfaces_; |
| ScreenCaptureFrameQueue<SharedDesktopFrame> frames_; |
| std::unique_ptr<SharedMemoryFactory> shared_memory_factory_; |
| Callback* callback_ = nullptr; |
| + // Returns desktop size of selected screen. |
| + DesktopSize SelectedDesktopSize() const; |
|
Sergey Ulanov
2016/07/08 22:36:55
Move this above |frames_|. Methods definition shou
Hzj_jie
2016/07/11 00:55:00
Done.
|
| + // Returns desktop rect of selected screen. |
| + DesktopRect SelectedDesktopRect() const; |
| + |
| + ScreenId current_screen_id = kFullDesktopScreenId; |
| + |
| bool set_thread_execution_state_failed_ = false; |
| RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinDirectx); |