obs-studio/plugins/win-capture
jp9000 104415d5c3 win-capture: Fix hook bug that could cause crashes
I had this issue where IDXGISwapChain::ResizeBuffers would fail in the
hooks, causing games to crash when they resized their backbuffers
because ResizeBuffers would return an 'invalid call' HRESULT value.  In
the ResizeBuffers documentation it says that it will only happen if a
backbuffer currently has any outstanding references, but there's no way
this would happen unless ResizeBuffers internally calls Present or vise
versa.

After ResizeBuffers has been called, the very first call to Present will
somehow seemingly invalidate and/or destroy the current backbuffer.
It's very strange, but that seems to be what's going on, at least for
the game I was testing.  So if you are performing a post-overlay
capture, then you must ignore the capture on the very first call to
Present.

It's Microsoft's code so you can't really know what's going on, you just
have to work around these strange issues seemingly in the dark.
2015-02-14 09:12:24 -08:00
..
d3d8-api Use _MSC_VER for MSVC-specific pragmas 2015-02-09 03:49:18 -08:00
data Add latest translations from crowdin 2015-02-11 19:15:08 -05:00
get-graphics-offsets win-capture: Use inline define with VC only 2015-02-09 03:55:17 -08:00
graphics-hook win-capture: Fix hook bug that could cause crashes 2015-02-14 09:12:24 -08:00
inject-helper Remove various unused variables 2015-02-09 03:49:13 -08:00
CMakeLists.txt win-capture: fix link libs for mingw-w64 2015-02-09 03:41:53 -08:00
cursor-capture.c win-capture: Fix incorrect parameter type warning 2015-02-09 03:49:19 -08:00
cursor-capture.h win-capture: Don't draw cursor if outside area 2015-01-03 02:37:18 -08:00
dc-capture.c (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
dc-capture.h (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
duplicator-monitor-capture.c win-capture: Fix potentially uninitialized vars 2015-02-09 03:49:20 -08:00
funchook.c win-capture: Add hooking functions 2014-12-09 14:21:03 -08:00
funchook.h win-capture: Use inline define with VC only 2015-02-09 03:55:17 -08:00
game-capture.c Fixed a bug in color conversion code for 16bit textures. 2015-02-14 01:08:38 +01:00
graphics-hook-info.h Fix windows printf format warnings (from mingw) 2015-02-09 03:49:14 -08:00
hook-helpers.h Fix windows printf format warnings (from mingw) 2015-02-09 03:49:14 -08:00
load-graphics-offsets.c win-capture: Implement D3D8 game capture support 2015-02-09 05:02:48 -08:00
monitor-capture.c Remove various unused variables 2015-02-09 03:49:13 -08:00
obfuscate.c Use _MSC_VER for MSVC-specific pragmas 2015-02-09 03:49:18 -08:00
obfuscate.h win-capture: Add obfuscation functions 2014-12-08 01:53:51 -08:00
plugin-main.c win-capture: Add win8+ monitor capture 2015-01-03 02:37:18 -08:00
window-capture.c Don't update video of sources if not displaying 2015-01-05 02:10:32 -08:00
window-helpers.c win-dshow: Remove unnecessarily inline define 2015-02-09 03:55:31 -08:00
window-helpers.h win-capture: Expose get_window_exe as extern 2014-12-08 01:53:53 -08:00