| 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..5702f47ac1b68abe39926125186538786ec96701 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();
|
| + // Returns desktop size of selected screen.
|
| + DesktopSize SelectedDesktopSize() const;
|
| + // Returns desktop rect of selected screen.
|
| + DesktopRect SelectedDesktopRect() const;
|
|
|
| - // 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;
|
|
|
| + ScreenId current_screen_id = kFullDesktopScreenId;
|
| +
|
| bool set_thread_execution_state_failed_ = false;
|
|
|
| RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinDirectx);
|
|
|