2342 Commits

Author SHA1 Message Date
Richard Stanway
4563e03442 win-wasapi: Fix leaking IPropertyStore 2020-03-20 17:58:14 +01:00
Richard Stanway
21737d5f7a win-wasapi: Fix crash on certain devices
Not all devices return PKEY_AudioEngine_DeviceFormat properties.

Per MSDN, if the PROPERTYKEY referenced in key is not present in
the property store, this method returns S_OK and the vt member of
the structure pointed to by pv is set to VT_EMPTY.
2020-03-20 17:53:18 +01:00
jp9000
8ecfb405ce Revert "win-capture, libobs: Show names of displays in Display Capture"
This reverts commit 9931f22ff4292e7e0a69c05cadaee474520b4786.
2020-03-19 06:43:57 -07:00
jp9000
06377bec46 obs-browser: Fix a few crashes
Fixes a crash with size somehow becoming 0x0 for a source, and fixes a
crash when specific local file settings are used.
2020-03-19 06:13:56 -07:00
jp9000
113af5344c obs-ffmpeg: Make sure to show FFmpeg NVENC on non-windows 2020-03-18 17:02:56 -07:00
jp9000
b3ca1bd059 win-capture: Retry with last known window if first fails
This fixes a bug where games like "Don't Starve Together" wouldn't
capture because their actual render window is a completely different
window than their actual window on the screen.

So, because we already have the hook info by this point with the last
known window handle available, instead of using 0 here, we can just use
the window handle provided by the shared memory.  And we didn't even
have to change the hook!  That's nice.
2020-03-18 07:53:21 -07:00
jpark37
e4e96c5cef libobs-winrt: win-capture: Clean up error handling
Use proper check to fix false positive on 1809, and rework error spew to
remove output parameters from winrt_capture_init.
2020-03-18 00:33:12 -07:00
jp9000
327a6f599e win-capture: Fix potential crash due to unhandled exceptions 2020-03-17 12:22:20 -07:00
Gol-D-Ace
d74fc65047 Update translations from Crowdin 2020-03-16 20:14:50 +01:00
praveenkumar
2a7708424a rtmp-services: Add getloconow
Closes obsproject/obs-studio#2505
2020-03-16 09:48:04 -07:00
jp9000
9c92520211 rtmp-services: Fix formatting 2020-03-16 09:46:56 -07:00
jp9000
8faaf8491a obs-browser: Fix crash with certain settings combo
When enabling "local file", and the local file path is empty, CEF can
trigger an assert, causing a crash.
2020-03-16 06:33:14 -07:00
jp9000
6209bea371 win-capture: Destroy winrt in graphics thread 2020-03-14 10:54:37 -07:00
Richard Stanway
49bd76755b Make cert revocation check fails non-fatal on Win
Instead of erroring out completely when it can't determine if the
certificate is valid, proceed anyway.  This matches how web browsers
treat failed cert revocation checks.  schannel just has somewhat
paranoid defaults.
2020-03-13 07:48:47 -07:00
jp9000
59351b27ae win-capture/graphics-hook: Separate some debugging stuff
Reduces debugging spam when debugging Vulkan capture is needed in the
hook.
2020-03-13 06:57:16 -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
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
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
jpark37
421f97e68d win-capture: Handle vkCreateSwapchainKHR errors
Fixes behavior for an application reported by AMD.
2020-03-10 21:31:40 -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
428a19edd6 win-capture/graphics-hook: Make vulkan layer all capital 2020-03-09 10:44:04 -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
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
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
9931f22ff4 win-capture, libobs: Show names of displays in Display Capture 2020-03-09 11:13:59 +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
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
Jim
c8bafff16a
Merge pull request #2467 from FlyGoat/lp64
Fix build for armhf and powerpc
2020-03-07 04:47:00 -08:00
Jim
abff240d2a
Merge pull request #2466 from jpark37/win-capture-cleanup
win-capture clean-up
2020-03-07 04:46:13 -08:00
jp9000
5dcad74019 win-capture: Set ALL APPLICATION PACKAGES perms if elevated 2020-03-07 04:01:13 -08:00
jp9000
465174413a win-capture: Remove microsoft store from capture blacklist 2020-03-06 21:53:53 -08:00
Jiaxun Yang
3b39a0af74 linux-v4l2: Use LP64 macro to determine pointer size
As currently all 64bit Linux platforms are respecting LP64
data model and most 32bit platforms are respecting ILP32, we
don't have to discuss pointer size case by case. LP64 is effective
enough to tell pointer size.

This fixes build for armhf and powerpc.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2020-03-07 09:56:01 +08:00
jpark37
9da6a4d6f6 win-capture: Vulkan capture clean-up
Remove unnecessary DXGI swap chain creation, and use VK_NULL_HANDLE.
2020-03-06 17:04:31 -08:00
jpark37
fc4f3c0934 win-capture: Clean up various VC++ warnings 2020-03-06 17:02:38 -08:00
Richard Stanway
452a4b5085 obs-outputs: Fix RTMP authentication
RTMP authentication requires the curStreamIdx and nStreams be set
between the disconnect / reconnect that occurs in PublisherAuth. Now
that there's no good place to clean them up, zero the whole rtmp->Link
before starting a new stream.
2020-03-06 22:52:50 +01:00
craftwar
3821a0344e win-capture: Fix format string warning 2020-03-06 19:52:02 +08:00