Index: webrtc/modules/desktop_capture/desktop_frame_win.h |
diff --git a/webrtc/modules/desktop_capture/desktop_frame_win.h b/webrtc/modules/desktop_capture/desktop_frame_win.h |
index 929d23c0e56af6fcef478aadf62877ab64f9b150..028c5890a0e519e1ea5e75e6f857e11838770f28 100644 |
--- a/webrtc/modules/desktop_capture/desktop_frame_win.h |
+++ b/webrtc/modules/desktop_capture/desktop_frame_win.h |
@@ -13,7 +13,9 @@ |
#include <memory> |
+#include <DXGI.h> |
#include <windows.h> |
+#include <wrl/client.h> |
#include "webrtc/modules/desktop_capture/desktop_frame.h" |
#include "webrtc/typedefs.h" |
@@ -44,6 +46,24 @@ class DesktopFrameWin : public DesktopFrame { |
RTC_DISALLOW_COPY_AND_ASSIGN(DesktopFrameWin); |
}; |
+// DesktopFrame implementation used by screen captures on Windows. |
+// Frame data is stored in a IDXGISurface instance. |
+class DesktopFrameWinDXGI : public DesktopFrame { |
Sergey Ulanov
2016/03/31 18:41:15
Put this to a separate file (in win directory)? It
Sergey Ulanov
2016/03/31 18:41:15
Call this DesktopFrameWinDxgi. Style guide is not
Hzj_jie
2016/04/05 23:15:17
Done.
Hzj_jie
2016/04/05 23:15:17
Done.
|
+ public: |
+ virtual ~DesktopFrameWinDXGI(); |
+ DesktopFrameWinDXGI(DesktopSize size, |
+ Microsoft::WRL::ComPtr<IDXGISurface> surface, |
+ DXGI_MAPPED_RECT rect); |
+ |
+ // Create a valid but empty DesktopFrame, no updated regions. |
+ DesktopFrameWinDXGI(DesktopSize size); |
Sergey Ulanov
2016/03/31 18:41:15
Do you need this constructor? You could also use B
Hzj_jie
2016/04/05 23:15:17
Done.
|
+ |
+ private: |
+ // Make sure IDXGISurface won't be recycled during the lifetime of this |
+ // instance. |
+ Microsoft::WRL::ComPtr<IDXGISurface> surface_; |
+}; |
Sergey Ulanov
2016/03/31 18:41:15
add RTC_DISALLOW_COPY_AND_ASSIGN()
Hzj_jie
2016/04/05 23:15:17
Done.
|
+ |
} // namespace webrtc |
#endif // WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_FRAME_WIN_H_ |