7723 Commits

Author SHA1 Message Date
Richard Stanway
2a4a46deed UI: Use invokeMethod to refresh LoadAudioSources
Sources may be removed or destroyed by other threads which resulted in
GUI calls outside of the main Qt thread.
2020-03-02 22:21:02 +01:00
Richard Stanway
57b47ca90a UI: Fix preview not being re-enabled on maximize 2020-03-01 10:02:14 -08:00
jp9000
07089873fc win-dshow: Add support for devices that relay rotation
Adds support for devices that can relay rotation, such as the Logitech
StreamCam.
2020-03-01 03:42:46 -08:00
jp9000
b9d6675e2c libobs: Add ability to rotate async sources 2020-03-01 03:39:54 -08:00
Jim
88e8ffc1e0
Merge pull request #2445 from jpark37/ffmpeg-duration-warning
obs-ffmpeg: Fix type conversion warning
2020-03-01 01:35:22 -08:00
jpark37
1121f32b40 obs-ffmpeg: Fix type conversion warning 2020-02-29 20:57:17 -08:00
jp9000
e40f2cc155 win-capture: Fix registry lookup bug
The make_filename command was misplaced.  Was meant to be right below
the get_programdata_path call.
2020-02-29 10:32:20 -08:00
Jim
1a071982aa
Merge pull request #2156 from LittleMatth/master
Vulkan Game Capture
2020-02-29 05:37:44 -08:00
jp9000
7e78c17ace win-capture: Check hook version before capture init
Checks the hook version to ensure compatibility with hook DLL.  It's
unlikely it'll ever be necessary to increment the hook version, but this
is just a precautionary thing that allows a hook DLL to make sure it's
rejected by an older OBS version if needed.  Again however, very
unlikely that the major version will ever be incremented.
2020-02-29 04:53:29 -08:00
Matthieu Cunzi
74acbd7ed0 win-capture: Add Vulkan capture
Co-authored-by: jp9000 <obs.jim@gmail.com>
Co-authored-by: jpark37 <jpark37@users.noreply.github.com>
2020-02-29 04:53:28 -08:00
jpark37
5c38c6455f win-capture: Refactor create_hook_info 2020-02-29 00:15:54 -08:00
jp9000
72e770458f win-capture: Use full DLL path for inject helper
The inject helper should be able to specify the full path rather than
assume the path of the hook DLL.  This change allows us to modify the
hook's location.  This needs to be done because the hook needs to be
relocated to ProgramData to prevent the possibility of multiple Vulkan
capture hooks.
2020-02-29 00:15:54 -08:00
jpark37
39dc64f0f8 win-capture/graphics-hook: Refactor mutex check
OpenMutex doesn't return INVALID_HANDLE_VALUE, so there's no need to
check for that.  Also only call CloseHandle if the call was successful.
2020-02-29 00:15:54 -08:00
jp9000
a20f1168a7 win-capture/graphics-hook: Don't allow multiple hooks
Prevents multiple separate hook DLLs from being loaded in to a target at
once.  This is done just in the off-chance that someone might add
another hook to the Vulkan layer registry.
2020-02-29 00:15:54 -08:00
jp9000
e55a2b4331 cmake: Add FindVulkan module 2020-02-29 00:15:54 -08:00
jp9000
675530204e libobs/util: Add dll version compare func 2020-02-28 23:48:12 -08:00
jp9000
46c8ef615d libobs/util: Use MAX_PATH for absolute path funcs
Makes these functions a bit more consistent with the rest of the
project.
2020-02-28 23:48:12 -08:00
jp9000
3e3521b9e1 win-capture/graphics-hook: Fix OBS detection
Fixes where the graphics hook would try to detect if OBS is currently
active or not.
2020-02-28 23:48:11 -08:00
jp9000
ef6a6827f4 win-capture/graphics-hook: Add flog and flog_hr
Allows automatically outputting the function name as part of the hook
logging.  This really doesn't need to be a manual process.  Makes code a
bit cleaner when used.
2020-02-28 23:48:11 -08:00
Jim
0f214bcce6
Merge pull request #1871 from VodBox/game-window-check
win-capture: Fix hook collisions with multiple game captures
2020-02-28 23:47:48 -08:00
Jim
f916dcb9f5
Merge pull request #2443 from dbkr/master
CI: Fix case of PlugIns directory
2020-02-28 22:20:57 -08:00
David Baker
dc17171617 CI: Fix case of PlugIns directory
'PlugIns' is normal for MacOS and whatever is generating qt.conf
(macdeployqt?) is using 'PlugIns', so this both builds and generates
an app that works on case insensitive filesystems but fails to load
on case sensitive filesystems.

I haven't tested building the installer, only modifying the
qt.conf in the installed copy of OBS.app.

Fixes https://github.com/obsproject/obs-studio/issues/2302
2020-02-28 17:28:59 +00:00
jp9000
1e4789f829 obs-outputs: Update FTL sdk to latest version 2020-02-27 06:45:43 -08:00
jp9000
ca4b04754c Revert "libobs: Fix audio keyframe issue"
This reverts commit ff22c20019115adee471328f729588db0115f45f.

This caused a bug in FTL output, which started hitching after this
commit.  Presumably due to opus; it's likely you're not supposed to do
this with all audio encoders.
2020-02-27 06:44:20 -08:00
jp9000
9b37b9273a obs-browser: Fix crash with replay buffer events 2020-02-27 04:59:48 -08:00
jp9000
764d5a2d3f win-capture: Preserve current window setting
This re-uses the game capture code for checking whether the original
window still exists or not.  If it doesn't or the name changed, it'll
insert the value at the top of the list so it doesn't automatically
select another when the user opens properties.

Basically, this fixes an issue where opening properties could sometimes
cause it to instantly capture whatever window was at the top of the
list, which is undesirable.

Closes obsproject/obs-studio#2421
2020-02-27 04:45:21 -08:00
jp9000
ffe4c767c3 win-capture: Move window capture method below window 2020-02-27 03:22:04 -08:00
Jim
19701e3bbc
Merge pull request #2439 from cg2121/decklink-stuff
frontend-plugins: Refactor Decklink out UI
2020-02-27 00:42:25 -08:00
Jim
ca0cc9fcf6
Merge pull request #2438 from cg2121/dock-margins
UI: Remove dock margins
2020-02-27 00:41:51 -08:00
Jim
eeb2a7b7a2
Merge pull request #2440 from cg2121/fix-decklink-crash
Decklink: Fix crash when no device selected
2020-02-27 00:20:08 -08:00
Clayton Groeneveld
e57d542625 Decklink: Fix crash when no device selected 2020-02-27 01:27:46 -06:00
Clayton Groeneveld
fa9dccb7be frontend-plugins: Refactor Decklink out UI 2020-02-26 23:06:20 -06:00
Clayton Groeneveld
ef3f842f0e UI: Remove dock margins 2020-02-26 19:55:07 -06:00
Jim
ad1f74e312
Merge pull request #2435 from brittneysclark/enable_nv12_on_intel
libobs-d3d11: Enable NV12 for Intel on newer platforms
2020-02-26 09:52:33 -08:00
brittneysclark
b8754f89fb libobs-d3d11: Enable NV12 for Intel on newer platforms
Check Intel Device IDs and only disable NV12 on legacy Intel GPUs. NV12
copy times on new platforms (ICL+) is minimal.
2020-02-26 05:49:13 -08:00
Jim
535e94dc0e
Merge pull request #1759 from cg2121/enable-linux-browser
obs-browser: Enable Linux support
2020-02-26 04:46:38 -08:00
jp9000
389032baa3 obs-browser: Update to 2.8.2 2020-02-26 04:45:26 -08:00
Clayton Groeneveld
0ca8424c66 UI: Fix compiling error with older QT 2020-02-25 22:38:12 -06:00
Clayton Groeneveld
0b33df9b2f CI: Build CEF on Linux 2020-02-25 22:38:12 -06:00
Clayton Groeneveld
61aeaa5ca3 obs-browser: Enable Linux support
This requires CEF >= 3683
2020-02-25 22:38:12 -06:00
Richard Stanway
269ebd2983 libobs: Handle empty path in os_get_path_extension
os_readdir might return an empty path if the OS filename doesn't fit
into the buffer after os_wcs_to_utf8. If this empty path is then passed
to os_get_path_extension it causes a crash.
2020-02-25 21:31:25 +01:00
Jim
267874ad92
Merge pull request #2427 from Rosuav/retry-pipe-write
libobs/util: Retry pipe writes to avoid spurious failures on short write.
2020-02-24 23:41:48 -08:00
Jim
22af1f2a97
Merge pull request #2433 from jpark37/wgc-crop
WGC improvements: context-specific options and client area toggle
2020-02-24 23:38:52 -08:00
Jim
eb5abf2ae5
Merge pull request #2431 from cg2121/t-bar-size
UI: Make t-bar smaller
2020-02-24 23:27:13 -08:00
Colin Edwards
aeb1ba9eff
Merge pull request #2434 from jpark37/invalid-vao
libobs-opengl: Fix Mac VAO created without context
2020-02-25 00:18:18 -06:00
jpark37
1733705070 libobs-opengl: Fix Mac VAO created without context 2020-02-24 22:08:28 -08:00
jpark37
2111a3a02f libobs-winrt: win-capture: Support client area toggle for WGC 2020-02-24 21:31:53 -08:00
jpark37
cce9fb7f95 win-capture: Hide settings if Automatic is WGC 2020-02-24 19:42:46 -08:00
Richard Stanway
3667e556db UI: Use deleteLater() rather than explicit delete
When an audio source is removed, it signals its "destroy" callbacks.
One of the callbacks is OBSSourceLabel::SourceDestroyed.  When its Qt
destroy signal is fired, it causes a call to LoadAudioSources to refresh
the source list.  LoadAudioSources deletes the old layout, and so the
QWidget that the OBSSource is based on is freed while it's still in the
middle of running the signal callback, resulting in access to freed
memory.
2020-02-24 15:34:36 -08:00
Richard Stanway
45d0b8ccee UI: Reserve correct number of elements in vector 2020-02-25 00:24:05 +01:00