56899df08f
This adds the windows version of game capture. New features: - An option to hook any fullscreen application automatically (that doesn't have borders) so that no specific window configuration is required. Definitely a sorely needed feature - An option to force memory capture for the sake of compatibility with things such as SLI, multi-adapter setups (usually laptops), as well as the ability to be used with the OpenGL renderer - An optimization option to force scaling on the GPU before texture transfer, reducing the transfer bandwidth (which is especially important for compatibility capture) - An optimization option to limit framerate to the current OBS framerate to improve capture performance (mostly useful for compatibility capture) - An option to capture third-party overlays (such as steam) - Logging improvements, game capture log will now be sent via pipe instead of written to a separate file, making diagnosing problems a little bit easier
32 lines
760 B
C
32 lines
760 B
C
#include <obs-module.h>
|
|
|
|
OBS_DECLARE_MODULE()
|
|
OBS_MODULE_USE_DEFAULT_LOCALE("win-capture", "en-US")
|
|
|
|
extern struct obs_source_info monitor_capture_info;
|
|
extern struct obs_source_info window_capture_info;
|
|
extern struct obs_source_info game_capture_info;
|
|
|
|
extern bool load_graphics_offsets(bool is32bit);
|
|
|
|
/* temporary, will eventually be erased once we figure out how to create both
|
|
* 32bit and 64bit versions of the helpers/hook */
|
|
#ifdef _WIN64
|
|
#define IS32BIT false
|
|
#else
|
|
#define IS32BIT true
|
|
#endif
|
|
|
|
bool obs_module_load(void)
|
|
{
|
|
obs_register_source(&monitor_capture_info);
|
|
obs_register_source(&window_capture_info);
|
|
|
|
if (load_graphics_offsets(IS32BIT)) {
|
|
load_graphics_offsets(!IS32BIT);
|
|
obs_register_source(&game_capture_info);
|
|
}
|
|
|
|
return true;
|
|
}
|