Commit graph

536 commits

Author SHA1 Message Date
PatTheMav 2966c4030e libobs: Use static library for version string information
Switching to a static library that contains version information as
const char strings has multiple benefits:

* The version information provided externally via compiler definitions
  will fail compilation early if malformed
* An updated version string (which will happen with every commit) will
  not invalidate existing compilation units, because only the static
  library is affected by the change
* An update of the version change just requires a recompilation of the
  static library and a linker update
* An update of the version will _not_ infect the rest of the codebase
  (as it does currently, because everything includes obsconfig.h one
  way or another)
* Other modules which used the macro definition directly have been
  updated as much as possible to use the proper getter method from
  `libobs` instead (some Windows-specific modules use preprocessor
  string composition, the value has been added as a compiler definition
  directly in those cases)
* Because the impact of a version change due to a commit hash change
  is limited to the static library, ccache hit rates should be
  improved considerably
2023-05-27 16:48:24 -07:00
Norihiro Kamae 7a3486ba6d win-capture: Remove obsolete translation
A commit 80b4a65cd2 added a translation `Method.Auto` but the source
code uses `WindowCapture.Method.Auto` instead.
2023-05-20 16:35:05 -07:00
Lain 106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
Translation Updater a0fbdc3c34 Update translations from Crowdin 2023-05-01 23:11:13 +00:00
derrod 82c63db94b win-capture: Fix compat info showing in hotkey mode 2023-03-29 03:16:34 +02:00
Translation Updater 7c5560bf1b Update translations from Crowdin 2023-03-27 13:39:03 +00:00
PatTheMav 349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
jpark37 feae65c472 graphics-hook: Handle VK_KHR_imageless_framebuffer
Applications that use this Vulkan extension would have image usage
mismatches because we add VK_IMAGE_USAGE_TRANSFER_SRC_BIT to
VkSwapchainCreateInfoKHR::imageUsage, so make the same modification to
VkFramebufferAttachmentImageInfo::usage.
2023-03-24 15:17:43 -07:00
Jim e9ef38e3d3
Merge pull request #7978 from jpark37/dxgi-display-sdr-on-hdr
libobs-d3d11,win-capture: Add Force SDR for DXGI duplicator
2023-03-20 01:43:14 -07:00
derrod f1c95b2bd0 win-capture: Fix compatibility info showing in any mode 2023-03-19 02:16:05 -07:00
田七不甜 03691eb0a9 win-capture: Remove the redundant "-" in the CSGO launch option and Steam url language code 2023-03-15 22:31:06 +01:00
Ryan Foster 002bd0b5a4 win-capture: Suppress LNK4098
Suppress LNK4098 to allow building against pre-built Jansson for now.
2023-03-08 17:14:11 -05:00
derrod 2e57e09036 win-capture: Display compatibility information 2023-03-07 16:03:18 -05:00
derrod 19b6d79597 win-capture: Fix possible macro redefinition 2023-03-01 20:39:53 +01:00
jpark37 695f476553 win-capture: Add logging for Force SDR checkbox 2023-02-19 11:40:32 -08:00
jpark37 7bf3015864 win-capture: Add Force SDR for DXGI duplicator
Also plumb support for wide SDR although DXGI chooses narrow anyway?
2023-02-19 11:40:32 -08:00
Richard Stanway 0121533e3e win-capture: Convert monitor name to UTF-8 for display
Also increase the buffer size to account for potential wide characters
consuming many bytes.
2023-02-15 15:36:13 -05:00
jpark37 6734167bf1 win-capture: Log display ids 2023-02-11 15:05:28 -08:00
jpark37 148122f5aa graphics-hook: Stop trying to connect early
It never works, and leaves a confusing message behind.
2023-02-04 15:44:16 -08:00
Norihiro Kamae 72e7437ce9 win-capture: Remove unused macros 2023-01-28 19:03:55 -08:00
jpark37 0b30ff1deb win-capture: Support EnumDisplayDevices failure
Seeing EnumDisplayDevices fail in the wild, so use GetMonitorInfo name
when the persistent name is unavailable.
2023-01-25 10:44:10 -05:00
tytan652 107b2a8f27 libobs-d3d11,libobs-opengl,plugins: Remove unneeded cast in switches
Those casts were usually used to workaround switch warnings.
2023-01-16 11:52:26 +01:00
jpark37 22ea8f4e1f libobs-winrt,win-capture: Add Force SDR for WGC display
Leverage existing window capture support for display capture.
2023-01-14 15:49:43 -08:00
jpark37 fb58f60ae4 win-capture: Show Force SDR setting on Windows 10
Was using wrong bool for visibility.
2023-01-14 15:49:43 -08:00
Translation Updater 783bd52197 Update translations from Crowdin 2023-01-08 04:10:37 +00:00
Richard Stanway 20d4bab77a win-capture: Always reset timeout when searching for target display
If the display wasn't found, the timer was not reset, causing the code
to execute on every single tick, stalling the graphics thread and using
excessive CPU.
2023-01-04 23:20:41 -08:00
jpark37 803fcc4c3e win-capture,UI: Look up display by id, not index
The index is not reliable. The id persists better, so use that.

Also remove matching against the first monitor if the expected monitor
is not available. That feature seems like a good way to get doxxed by
accident.
2022-11-18 15:15:13 -05:00
Caelan Sayler 95f434c591 win-capture: Invert output when drawing monochrome cursors 2022-11-17 23:54:48 -05:00
PatTheMav b417df7d95
win-capture: Replace invocations of sprintf with snprintf
Fixes deprecation warnings in Xcode 14/clang on macOS and reduces
chance of buffer overflows.
2022-11-11 19:51:28 +01:00
derrod ec3ea1f8a0 win-capture: Disable clang-format for assembly patterns 2022-10-29 16:06:24 -07:00
Translation Updater f065f20ce1 Update translations from Crowdin 2022-10-25 22:32:14 +00:00
derrod a372c1c0b3 win-capture: Update D3D9 signature for Win 11 22H2 2022-10-09 16:21:02 -07:00
PatTheMav 992d18b66c win-capture: Fix reporting valid width and height if not capturing
While the inject-helper tries to hook an application, the source is
set to `active` until the inject-helper reports being unable to hook.

If the graphics thread updates the transformations of every source in
that time frame, the game-capture source will report the width and
height used from the last valid capture, leading to its selection box
flickering in and out of view.

Ensuring that width and height are only reported when the source is not
only made active but is also capturing content fixes the flickering
issue.
2022-10-09 16:17:05 -07:00
jpark37 afeb78e022 graphics-hook: Print DXGI swap chain desc 2022-09-10 15:36:53 -07:00
jpark37 5fd22f3dfd graphics-hook: Remove unused code 2022-09-10 15:36:53 -07:00
jpark37 a45cb71f6e win-capture: Remove unused wildcard code 2022-09-10 15:34:09 -07:00
jpark37 894e37d0e1 libobs-winrt,win-capture: Allow forcing SDR
We don't know if there's a way to get window color space, so we've been
using the monitor color space of the window. This toggle forces OBS to
ignore the monitor color space, and assume the window is SDR.
2022-09-04 17:16:07 -07:00
Translation Updater cc2d0791ca Update translations from Crowdin 2022-08-30 09:00:44 +00:00
Translation Updater 4aaa07f93d Update translations from Crowdin 2022-08-17 04:22:50 +00:00
wang.shaohui 7eb46d50b7 win-capture: Fix memory leak in dc-capture.c 2022-08-13 01:50:38 -07:00
Richard Stanway 3c6c44e1fe
win-capture: Fix incorrect path in CMakeLists 2022-08-09 02:31:50 +02:00
Richard Stanway 86963f65d2
libobs, win-capture: Don't export ms_get_obfuscated_func
Since this was included in things like the inject helper and game
capture DLLs, it added an additional export to those programs. Instead,
simply share the source files directly in the projects that need it.

Co-authored-by: jpark37 <jpark37@users.noreply.github.com>
2022-08-07 19:41:23 +02:00
Translation Updater 81734be37c Update translations from Crowdin 2022-07-31 23:40:53 +00:00
jpark37 00828d1d06 win-capture: Bump graphics hook version to 1.8.0 2022-07-29 23:22:39 -07:00
jpark37 f55021be90 graphics-hook: Bump Vulkan version
Vulkan loader blocks implicit layers older than application apiVersion.
2022-07-29 23:22:39 -07:00
jpark37 8a4352c1e5 graphics-hook: Relax Vulkan allocation strategy
Stop requiring DEVICE_LOCAL. May be needed for integrated GPUs.
2022-07-29 23:22:39 -07:00
jpark37 b7d630af6b graphics-hook: Update VkResult strings 2022-07-29 23:22:39 -07:00
jpark37 4c7c1854bd graphics-hook: Track DXGI status with counter
Previous approach could mark Present exit too early.
2022-07-29 21:54:28 -07:00
Eric Laberge dfb9bb74f7 graphics-hook: Avoid conflict between Vulkan and DXGI Present 2022-07-29 21:54:07 -07:00
jpark37 69ff026647 libobs, win-capture: Share window helper code
Add "ms_" prefix as makeshift namespace.
2022-07-23 17:41:34 -07:00