Commit Graph

3330 Commits (6d5dd75e4a20f75c0a6c568a88fbec04f4a49121)

Author SHA1 Message Date
PatTheMav f3e23c2332
obs-vst: Update submodule to pull in CMake changes 2022-03-17 14:28:59 +01:00
PatTheMav ab021ff3bf
obs-browser: Update submodule to pull in CMake changes 2022-03-17 14:28:34 +01:00
PatTheMav 49e9d49943
plugins: Update CMakeLists.txt for included plugins 2022-03-16 23:11:08 +01:00
jpark37 2a991a4fa0 win-waspai: Tighten version check for RTWQ
Getting reports that it isn't working for 1607 and below.

If they continue, we should probably just pull the RTWQ path.
2022-03-13 06:07:39 -07:00
eightball567 6df5a98534 mac-capture: Add vbcable to whitelist for loopback devices 2022-03-12 15:41:06 -08:00
Florian Zwoch 8886091793 obs-ffmpeg: add NVENC blacklist check for Linux
Similar to the Windows counter part. Check the PCI bus for
installed cards. When found at least one VGA compatible adapter
from NVIDIA that is not in the blacklist we pass the check.
2022-03-08 12:16:07 -08:00
cg2121 efce0f41d0 decklink: Use ComPtr for variables
This makes sure Decklink variables are automatically released.

Closes https://github.com/obsproject/obs-studio/pull/5508
2022-03-08 03:36:01 -08:00
jpark37 c7c52a59f9 win-dshow: Fix hwdevice_ctx leak 2022-03-05 15:02:23 -08:00
jp9000 490c6214f0 virtualcam-module: Revert changes since 27.1.3 (for now)
This reverts commit 4b0767741a,
3f3f9ed7e6,
0e7c17bd6e, and
865eecb739.
2022-03-02 17:35:36 -08:00
jp9000 4b0767741a virtualcam-module: Prevent placeholder memory leak 2022-03-02 05:06:12 -08:00
jp9000 2026270b65 virtualcam-module: Only initialize placeholder once 2022-03-02 05:06:12 -08:00
jp9000 3f3f9ed7e6 virtualcam-module: Fix incorrect correct res/fps
Apparently the testing that was done was not sufficient enough or did
not check all test cases, so resolution/fps does not get set properly on
the virtualcam.
2022-03-02 04:19:02 -08:00
Matt Gajownik 7409496c14 obs-browser: Log CEF version *after* library is loaded on macOS 2022-02-28 23:24:52 +11:00
jp9000 0e7c17bd6e virtualcam-module: Remove unnecessarily inlines 2022-02-27 22:26:10 -08:00
jp9000 865eecb739 virtualcam-module: Stop thread on Stop call
This causes the thread to only start when the IMediaFilter::Run/Pause
calls have been made, and stop whenever either the IMediaFilter::Stop
call has been made, or on destruction, whichever comes first.

This potentially will work around a suspected race condition that
appears to be in the WebRTC library where the filter's library will be
released while the filter is in the process of being destroyed, which
can take longer than usual if the join takes too long. Basically, fixes
a reported crash (that doesn't appear to technically be our fault) when
the filter is used with browsers when the virtualcam is deactivating in
web browsers.
2022-02-27 22:23:41 -08:00
jpark37 847eebc648 win-dshow: Fix wrong AVCodecContext free call 2022-02-27 04:38:30 -08:00
jpark37 2e1d9e8e64 win-dshow: Add hardware decode status to log 2022-02-27 02:40:09 -08:00
Matt Gajownik fe71841b5a obs-browser: Update version to 2.17.14
f3d7a4d - Display runtime version (not built version) in UA string
f93675c - Print both runtime & compile version of CEF on startup
2022-02-27 17:22:05 +11:00
Justin B. Watson 24b2ad8532 rtmp-services: Update Brime Live ingests 2022-02-27 02:06:54 +01:00
cg2121 8510731f2b decklink: Don't load modules if Decklink not found
This also modifies decklink-captions and decklink-output-ui.
2022-02-26 15:44:00 -08:00
obiwac 93c2e681ca linux-v4l2: scandir with alphasort on non-Linux
Sort video device entries with `alphasort` on non-Linux platforms,
as opposed to `versionsort` on Linux.
(`versionsort` is a GNU extension, unavailable on e.g. FreeBSD.)

UI: Fix call to `to_string` on FreeBSD
2022-02-26 15:36:08 -08:00
jpark37 42fad9b2b4 win-dshow: Add hardware decode toggle
Off by default because it can be buggy, or overburden the GPU.
2022-02-26 15:31:48 -08:00
Ryan Foster ebc514e8db obs-ffmpeg: Update nv-codec-header files
Update the in-tree nv-codec-header files (nvEncodeAPI.h and
dynlink_cuda.h) to n11.1.5.1, which is the version currently used in the
OBS Studio dependencies, to keep the in-tree version in sync with the
version in our dependencies.
2022-02-26 15:08:03 -08:00
Kurt Kartaltepe c639255142 linux-v4l2: Fix warnings in mjpeg
Previously the switch did not catch all cases issuing a quite large
warning. Also there was a const-ness warning for codecs on ffmpeg 5.0
that this addresses.
2022-02-25 12:22:22 -03:00
Richard Stanway 702df3cd8d win-wasapi: Fall back to old code if RTWQ fails
Fixes a crash if RTWQ is unavailable, e.g. if the mmcss service is not
running.
2022-02-24 19:28:19 -08:00
jp9000 0dbae4ebef win-dshow: Ensure thread is joinable before joining
This may have been the issue behind the reported firefox crashes, but
strangely, the thread should always be joinable here because it's
explicitly always created in the constructor and joined in the
destructor.
2022-02-23 04:13:38 -08:00
Richard Stanway a39d174100 obs-outputs: Set a fixed size socket buffer on Windows 7
Auto tuning apparently doesn't work very well on this version and
af6844f5c2 caused throughput
regressions.
2022-02-20 16:16:17 -08:00
jp9000 3ca0bf8c0e obs-browser: Add support for custom OBS CEF
Our version fixes the system freeze issue, reduces resource usage, and
improves performance back to 3770 levels.

See obsproject/cef@36fdac16a7 for detailed information.
2022-02-20 11:43:55 -08:00
jp9000 b6b696fd89 obs-browser: Fix texture recreating every frame 2022-02-19 22:52:19 -08:00
Kurt Kartaltepe 23feac1323 linux-v4l2: Use decoded MJPEG pixel format
Previously we assumed mjpeg was always decoded to 422 but it seems some
cameras provide frames that decode to different pixel formats such as
420.

This change delays setting the obs frame pixel format until after we
have decoded the v4l2 frame.

fixes #5821
2022-02-19 23:53:41 -03:00
Matt Gajownik 02f80a1013 win-wasapi: Only enable work queue on Windows 10+
Fixes #5967
2022-02-19 15:37:50 -08:00
jpark37 6eec19771a obs-filters: Reduced GPU work for common LUT cases
Add "Passthrough Alpha" checkbox where alpha doesn't need sanitization.

Remove domain checks, Intel UHD Graphics 750: 591 µs -> 532 µs
Alpha passthrough, Intel UHD Graphics 750: 532 µs -> 486 µs
2022-02-19 15:29:48 -08:00
jpark37 873e3a0aae obs-filters: Reduce 3D LUT calculations
Single tap is good enough.

Intel UHD Graphics 750: 860 µs -> 591 µs
2022-02-19 15:29:48 -08:00
jpark37 8e8c29d84c obs-filters: Interpolate LUT in linear space
More accurate and cheaper.

This is a breaking change because Amount is also now computed as linear,
but most users are probably using 1.0, so v2 isn't worthwhile.

Intel UHD Graphics 750: 980 µs -> 860 µs
2022-02-19 15:29:48 -08:00
jpark37 c434d4d39b obs-filters: Update original.cube
Need more LUT entries to reduce error when shader is optimized.
2022-02-19 15:29:48 -08:00
jpark37 ca3fdd8eaf obs-filters: Add effect files to VS solution 2022-02-19 15:29:48 -08:00
pkv 5b0c09a9f4 obs-ffmpeg: Force mpegts format & disable restart on activate for srt & rist
This fixes crashes in media Source when :
- the user forgets to set the input format for srt or rist URLs;
- disabling / enabling / disabling etc Media source with a rist URL.

Signed-off-by: pkv <pkv@obsproject.com>
2022-02-19 15:17:19 -08:00
Florian Zwoch d16950a2f6 linux-capture: Fix for pipewire capture leaking texture handles
Enter the graphics context before calling gs_texture_destroy() or
else the call will fail causing the texture handles to leak.
2022-02-19 20:06:03 -03:00
jp9000 ab1d20b237 obs-browser: Fix issues with rendering on Linux/macOS 2022-02-19 10:18:48 -08:00
jp9000 ddf1078e32 obs-browser: Fix rendering on non-windows
The copy operation wasn't supposed to be in the #ifdef for windows.
2022-02-19 09:18:36 -08:00
jp9000 6a3043abd2 obs-browser: Fix sRGB rendering 2022-02-15 23:51:07 -08:00
jp9000 40b990a559 obs-browser: Update version to 2.17.10 2022-02-15 23:19:17 -08:00
jp9000 ee878043b2 obs-browser: Acquire, copy, and release immediately
Instead of holding onto an acquire over the duration of an entire frame,
acquire, copy to a texture, and immediately release the lock.

(Note from Jim: When it comes to synchronization, the idea of acquiring
a lock, and then releasing all the way in the next frame just feels a
bit worrisome. Especially when it's a GPU object. But at this point, I'm
just making shots in the dark in an attempt to eliminate any possible
things that might even have a remote chance to trigger latent bugs in a
GPU driver or the kernel. You know, that whole system freeze thing. This
probably doesn't have anything to do with it, at this point I have
nothing but wild geese to chase. Whatever.)
2022-02-15 23:12:20 -08:00
Thulinma 9c504f4d35 rtmp-services: Update Picarto ingests 2022-02-12 15:02:10 -08:00
Translation Updater 25b58f0417 Update translations from Crowdin 2022-02-11 00:34:08 +00:00
jp9000 109b54fd66 obs-ffmpeg: Fix svt-av1 rate control settings
For SVT-AV1, rate control is explicitly set via an "rc" option, so set
those options manually for SVT-AV1. CBR doesn't seem to be fully
supported, but it's sort of supported via CVBR (constrained variable
bitrate), which seems to be specific to each GOP size, which is about as
close to CBR as we can get.
2022-02-07 13:11:34 -08:00
Translation Updater ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
Cenk Uluisik f52f34b614 linux-capture: Fix missing parameter for pipewire capture
Commit a3a6710 introduced the obs_pipewire_save() function in the
PipeWire code, but only set it to the monitor capture source. This
was an oversight, it should have been set to the window capture
source as well.

Set the .save vfunc of the window capture source as well.

Closes obsproject/obs-studio#5906
2022-02-04 13:09:12 -03:00
Paul Hindt 95020dd629 aja: Fix off-by-one output frame index calculation 2022-02-02 11:20:05 -06:00
Roman Sivriver e6a55e7763 rtmp-services: Update YouNow ingest 2022-02-01 13:42:08 -08:00