Commit Graph

7968 Commits (355cd6ccc0f8435fc1d45043e2ffa1f74ee36b94)

Author SHA1 Message Date
Jim 14df12db75
Merge pull request #2479 from Palakis/bugfix/tests-compile-error
tests: fix Windows compile error
2020-03-13 06:49:48 -07:00
jpark37 9f15514c1a win-capture: Vulkan surface refactor
Make sure HWND tracking is cleaned up when Vulkan surfaces are
destroyed. Also use unbounded linked list to fix games that leak
surfaces on Alt+Tab like Doom.

Also replace CRITICAL_SECTION with SRWLOCK, both for claimed speed
benefit, and to remove initialization code.
2020-03-13 04:36:19 -07:00
Matt Gajownik 8f6ed5cd87 UI: Support Unicode for Windows fullscreen projectors 2020-03-13 21:15:51 +11:00
Clayton Groeneveld e6ec3c87de UI: Fix filter rename crash 2020-03-12 16:24:48 -05:00
Richard Stanway 314a53872d UI: Update Contribute link in about box 2020-03-12 00:12:22 +01:00
Richard Stanway 4dfb572547 libobs: Check return value from obs_scene_add_internal
Errors in obs_scene_add_internal would cause a crash as the null item is
passed to various signal handlers.
2020-03-12 00:02:46 +01:00
jp9000 2131a8b243 UI: Fix preview scaling on scene collection change 2020-03-11 13:48:44 -07:00
jp9000 c40915c8b0 obs-vst: Fix lockup/race on shutdown
This ensures that windowing-related VST actions are performed in the
main UI thread rather than in another thread, risking a lockup.
2020-03-11 12:37:45 -07:00
jp9000 b31c166814 Revert "graphics: libobs-d3d11: Use DXGI_SWAP_EFFECT_FLIP_DISCARD on Windows 10"
This reverts commit 4da73445c3.

This is being reverted because apparently it causes flickering displays
for some people.  Bad drivers or something?  Not sure.  Very annoying.
2020-03-11 09:35:47 -07:00
jp9000 98c1ac2f80 win-capture/graphics-hook: Add a bit of logging
Just makes sure to be explicit when a device isn't valid.
2020-03-11 02:00:42 -07:00
Jim f7b6efe66b
Merge pull request #2486 from jpark37/vulkan-result-check
win-capture: Handle vkCreateSwapchainKHR errors
2020-03-11 01:44:11 -07:00
jpark37 421f97e68d win-capture: Handle vkCreateSwapchainKHR errors
Fixes behavior for an application reported by AMD.
2020-03-10 21:31:40 -07:00
jp9000 95a920d7ee libobs: Remove legacy libobs data search path 2020-03-10 07:23:10 -07:00
jp9000 8b81b69f14 libobs: Remove legacy module search path 2020-03-10 07:19:45 -07:00
jp9000 f1cb1a42cc win-capture: Try window handle 0 if actual handle fails
Certain UWP programs can't obtain a normal window handle from their API
for whatever reason (this was observed with minecraft win10 edition), so
if the normal window handle on the map fails, try window handle 0
instead.
2020-03-10 07:13:58 -07:00
jp9000 c76426c5bd win-capture: Use full app obj name for keepalive mutex
Ensures that the UWP program can open the keepalive mutex to check to
see whether OBS is still alive.  Fixes a bug where UWP programs wouldn't
capture.
2020-03-10 07:13:58 -07:00
jp9000 432017b2c9 libobs: Don't render audio if context not initialized
Fixes a race where the audio subsystem could call audio render callbacks
before the source was fully initialized.
2020-03-10 07:13:58 -07:00
jp9000 3992bd247c libobs: Fix groups not being recognized as groups
The id of the source was being pointer compared rather than string
compared, so naturally with the source versioning system where the
string is duplicated, the pointers no longer matched.
2020-03-09 17:08:51 -07:00
jp9000 19068c2960 libobs: Handle removed plugins for versioned sources
When someone adds a source and the plugin is removed for whatever
reason, it would cause a crash with the new source versioning system.
This fixes that by ensuring the unversioned id is also backed up along
with the normal id.
2020-03-09 16:53:44 -07:00
jp9000 8d5ab2be3b libobs: Don't return false, return NULL 2020-03-09 16:42:50 -07:00
jp9000 3e01a85d39 libobs: Fix crash when querying versioned id
The wrong array was used, thus it couldn't find "group" or "scene".
2020-03-09 16:37:46 -07:00
Stéphane Lepin a212c44c6d tests: fix missing parameter when calling obs_display_create 2020-03-09 23:18:47 +01:00
jp9000 428a19edd6 win-capture/graphics-hook: Make vulkan layer all capital 2020-03-09 10:44:04 -07:00
Jim 521d0ce4b7
Merge pull request #2444 from WizardCM/property-help-icon
UI: Show help icon for properties with tooltips
2020-03-09 06:27:54 -07:00
Jim 519b3096aa
Merge pull request #2474 from WizardCM/named-display-monitors
Show friendly monitor names on Display Capture on Windows & Projectors
2020-03-09 06:26:52 -07:00
Jim 43d5691c03
Merge pull request #2477 from WizardCM/multiview-typo
UI: Fix windowed multiview title
2020-03-09 06:24:52 -07:00
Jim 3d2d3271a7
Merge pull request #2475 from comex/missing-python-imports
obs-scripting: Add missing symbols in -python-import.[ch]
2020-03-09 06:23:55 -07:00
jp9000 b2302902a3 libobs: Fix source type versioning system
(This also modifies image-source, obs-text, text-freetype2, and UI)

This improves source definition versioning.  To do this, it now stores
two identifier names.  One "unversioned" which is the original name, and
one "versioned" with the version number appended.

This fixes both backward compatibility with older OBS versions, and
fixes the inability to use "add existing" in OBS itself on sources
created from older version definitions.
2020-03-09 06:12:22 -07:00
jp9000 ef0f21b273 image-source: Don't use video info for color source size
The problem with using obs_get_video_info for a default is that the user
can change that value.  A default should not be a value that is subject
to change based upon the user's settings.

Instead, choose a sane "normal" value, like 1920x1080.  Later on, this
should be replaced with a system that allows automatic resizing via the
user.
2020-03-09 05:59:59 -07:00
jp9000 476c332a41 libobs: Compare scene/group ids by strcmp 2020-03-09 05:57:01 -07:00
jp9000 6b7d38adfd win-capture: Increment graphics hook version 2020-03-09 02:51:52 -07:00
jp9000 229f8d37cb win-capture/graphics-hook: Fix reacquire bug
Sometimes the width/height would initially be at 0x0 when the swap chain
was alt-tabbing, causing the capture to fail full-stop when trying to
reacquire.
2020-03-09 02:50:34 -07:00
jp9000 e9b41e5fc5 win-capture: Always copy file when debugging
Helps ensure that the hook can be debugged for things like vulkan
capture.
2020-03-09 02:49:46 -07:00
jp9000 30e3ef3b49 win-capture/graphics-hook: Log vulkan capture dimensions 2020-03-09 02:34:33 -07:00
Matt Gajownik f302a98f8d UI: Fix windowed multiview title 2020-03-09 14:23:09 +11:00
comex 849d5462ad obs-scripting: Add missing Python imports
Add PyDict_New and PyTuple_New to obs-scripting-python-import.[ch];
these functions are used by SWIG's generated code when I build OBS on
macOS with SWIG 4.0.1.
2020-03-08 18:35:35 -07:00
Matt Gajownik 9931f22ff4 win-capture, libobs: Show names of displays in Display Capture 2020-03-09 11:13:59 +11:00
Matt Gajownik 6b5636ad73 UI: Show monitor names for projectors 2020-03-09 11:13:55 +11:00
jp9000 141c42c4b5 win-capture: Allow write permission on graphics hook
(This commit also modified the updater module on Windows)

Ensures that an older hook version can be replaced by a newer hook
version.
2020-03-08 15:56:23 -07:00
jp9000 b0e4859238 win-capture: If elevated, replace HKCU reg entry with HKLM 2020-03-08 15:56:23 -07:00
jp9000 abf3ed2b05 win-capture: Remove SYNCHRONIZE permission
This isn't really meant for file permissions.  This is meant for handle
permissions.
2020-03-08 15:56:23 -07:00
Jim 0a7d1b9baf
Merge pull request #2469 from jpark37/wgc-cursor-toggle
libobs-winrt: win-capture: HDC cursor capture for WGC
2020-03-08 03:23:48 -07:00
Jim 8cf09f0ea4
Merge pull request #2472 from jpark37/vulkan-silly-mistake
win-capture: Restore Vulkan 1.1 version hack
2020-03-08 03:14:10 -07:00
jpark37 cb4954c279 libobs-winrt: win-capture: HDC cursor capture for WGC
Starting with Windows 10 2004, we can disable WGC cursor capture, and
provide a user toggle. We swap out WGC support for our own though
because ours does not break hardware cursor support.
2020-03-07 20:40:39 -08:00
jpark37 4f4fc3bfe6 win-capture: Restore Vulkan 1.1 version hack 2020-03-07 20:07:56 -08:00
Jim 9d5fb57709
Merge pull request #2470 from jpark37/add-vulkan-format
win-capture: Support VK_FORMAT_A8B8G8R8_UNORM_PACK32
2020-03-07 10:38:53 -08:00
jpark37 3439be57fe win-capture: Support VK_FORMAT_A8B8G8R8_UNORM_PACK32 2020-03-07 09:58:07 -08:00
jp9000 f60c961ae1 obs-ffmpeg: Make sure hotkeys are actually pressed
Explicitly checks to make sure hotkeys are actually down, rather than
both down and up.  This was causing the restart hotkey to restart the
media twice, once on key down, once on key up.
2020-03-07 08:14:44 -08:00
jp9000 87f5bd6e9f win-capture/graphics-hook: Fix wrong HWND
Game capture assumes the top-level ancestor HWND, not a child HWND.
This fixes bugs such as the VLC window not capturing anymore due to the
fact that the capture HWND of VLC is a child window of the main VLC
window and not the main VLC window itself.
2020-03-07 07:35:34 -08:00
jp9000 40817331d3 win-dshow: Fix rotation not working in all cases 2020-03-07 06:48:07 -08:00