Commit Graph
14811 Commits
Author SHA1 Message Date
Exeldro 5ca6e1effa libobs: Fix duplicating scene with custom size 2025-03-26 15:17:13 -04:00
Warchamp7 ca762b9460 frontend: Remove Exit button (#11887) 2025-03-24 17:57:44 -04:00
Ryan Foster b96607345a obs-websocket: Update version to 5.5.6
Fix a possible crash when opening OBS in Studio Mode.
2025-03-24 13:48:24 -04:00
Lukáš Jech 01d5198f7b rtmp-services: Add "VRCDN - Live" service 2025-03-20 19:21:30 -04:00
PatTheMav 577e3504d5 frontend: Only emit frontend events for existing scene collection
To emit frontend events early during OBS' initialization, the
disableSaving state variable needs to be "falsy" (as events will not be
emitted otherwise).

The code path taken for generating a new fallback scene collection
has disableSaving decremented to "enable" saving (and thus frontend
events) already, so it's just the code paths for existing collections
that need this workaround.

Emitting the scene changed and preview scene changed events when a
fallback scene collection has been created has side-effects when
OBS Studio is set to studio mode and can lead to potential crashes,
as the studio mode is still in an invalid state at this point.
2025-03-20 15:05:42 -04:00
PatTheMav b163d5ffcd CI: Add workflow_dispatch trigger to scheduled repository workflow
By adding the workflow_dispatch trigger, the scheduled workflow can
also be manually triggered if the scheduled run failed to run due to
scheduling issues or because of an error that might have been fixed
since then.
2025-03-19 16:42:37 -04:00
duyquach-castr 291adefb4d rtmp-services: Update Castr.io ingests 2025-03-19 16:01:01 -04:00
Service Checker 1673cce921 rtmp-services: Remove defunct servers/services 2025-03-19 13:58:21 -04:00
jcm 68c4617927 mac-avcapture: Clear memory when creating frame struct 2025-03-18 17:35:53 -04:00
Ryan Foster 95cea5487b obs-browser: Update version to 2.24.6
46adc4b - Check source validity before attempting to log renderer crash
ac34d8e - Don't loop Cef exit while shutting down if task post fails
b56fd78 - Update version to 2.24.6
2025-03-17 18:56:47 -04:00
pkv f6f5c7bb25 nv-filters: Silence initial load error for Blur
On initial run of the Blur filter, some parameters are not all set when
there is the first call to load the effect. This is actually not an
issue, so the log is now silenced at this time.

Signed-off-by: pkv <pkv@obsproject.com>
2025-03-17 16:25:58 -04:00
pkv cc452e5acd nv-filters: Remove reset signal for Video effects
The reset signal was triggered whenever there was an update in the
parent source. This destroys the effect and recreates it, which can be
resource heavy.
We now let the SDK handle the source update on its own rather than
manually resetting the effect on obs side.

Signed-off-by: pkv <pkv@obsproject.com>
2025-03-17 16:25:58 -04:00
pkv 3402f6c7d0 nv-filters: Fix CudaStream used in Video effects
During the mapping and unmapping of resources, the CudaStream was not
always consistent.
This fixes the issue.
Thanks to Stephan from NVIDIA Dev support for noticing the mismatch.

Signed-off-by: pkv <pkv@obsproject.com>
2025-03-17 16:25:58 -04:00
pkv b5d0054cfa nv-filters: Reallocate state when resetting AIGS filters
This properly allocates the temporal state variable used in AI
greenscreen effect, when the latter is reset.

Signed-off-by: pkv <pkv@obsproject.com>
2025-03-17 16:25:58 -04:00
pkv 2682ccc33c nv-filters: Fix destruction of Background Blur effect
For the background blur effect, it was found that destroying it and
then adding any other NVIDIA effect led to a blank picture.
This commit swaps the order of destroying the effect and the associated
cudaStream.
For other effects the order does not matter; I have no idea why the
order matters for blur effect and the SDK gives no indication about any
proper order at destruction time.

Fixes bug #11383.
Signed-off-by: pkv <pkv@obsproject.com>
2025-03-17 16:25:58 -04:00
pkv ff51280ecb nv-filters: Set max effective threshold to 0.95 for Background removal
The threshold THR in Background removal filter has the following effect:
- if alpha if between [THR - 0.1; THR], alpha is interpolated;
- if alpha >= THR, alpha is set to 1.0;
- if alpha <= THR - 0.1, alpha is set to 0.
It was introduced in order to smooth the alpha at the edges of the
foreground.
This works fine unless THR == 1, where there can be bulk pixels with
alpha which will be interpolated as if they were at the edge;
in order to ensure that a bulk area with alpha set to 1.0 is well
defined, the max threshold is now set to 0.95 (so if the user picks a
unity threshold, a value of 0.95 will actually be used).
This fixes a bug in third party plugins which rely on a bulk foreground
safely set at alpha == 1.0. [1]

[1] https://github.com/FiniteSingularity/obs-stroke-glow-shadow/issues/61

Signed-off-by: pkv <pkv@obsproject.com>
2025-03-17 16:25:58 -04:00
Bo ecb99e3b34 obs-nvenc: Fix incorrect CUDA array size allocation
Fix cuda array use 2 bytes per element instead of 4 bytes with P010 format.
2025-03-17 14:49:09 -04:00
Dennis Sädtler 12baa1c817 libobs: Reset reconnecting state when can_reconnect is false 2025-03-17 14:22:56 -04:00
Dennis Sädtler 7a11db8949 frontend: Add reconnect callback for multitrack video 2025-03-17 13:30:58 -04:00
Dennis Sädtler 187eef7b38 libobs: Add optional reconnect callback to outputs 2025-03-17 13:30:58 -04:00
Dennis Sädtler 2950daa29d Revert "libobs: Do not allow reconnect if stop code is OBS_OUTPUT_INVALID_STREAM"
This reverts commit a0edc5e8bc.
2025-03-17 13:30:58 -04:00
Ryan Foster 8db61f2fab CI: Update flatpak-builder and flat-manager actions
actions/cache versions other than v4, v3, v4.2.0, and v3.4.0 were
deprecated and gradually sunset through February.

@actions/cache versions other than v4.0.0+ were deprecated and gradually
sunset through February.

See:
 * https://github.com/actions/cache/discussions/1510
 * https://github.com/actions/toolkit/discussions/1890

flathub-infra/flatpak-github-actions/flatpak-builder set its
@actions/cache dependency version to "^3.2.3" and was last updated on
July 29, 2024. As a result, its yarn.lock file specifies version
"3.2.4", which is no longer supported and does not work.

Update flathub-infra/flatpak-github-actions actions now that they have
updated their @actions/cache dependency.
2025-03-15 17:00:58 -04:00
tytan652 5e3b28d667 build-aux: Update Flatpak modules
- Update MbedTLS to v3.6.2
- Update nv-codec-headers to n13.0.19.0
- Update srt to v1.5.4
- Update SVT-AV1 to 2.3.0
- Update FFmpeg to 7.1
- Update LuaJIT to v2.1 a4f56a459
- Update VPL to v2.14.0
- Update vpl-gpu-rt to 24.4.4
- Update Asio to 1.32.0
2025-03-14 12:52:27 -04:00
tytan652 56f7fcc8cf build-aux,CI: Update KDE Flatpak runtime to 6.8
The underlying Freedesktop runtime is now 24.08 with AOM 3.10.x and
libvpx 1.14.x
2025-03-14 12:52:27 -04:00
tytan652 a38a69d3b4 build-aux: Update Flatpak libdatachannel to v0.21.1
This update needs to be done before the runtime change, otherwise the newer GCC
will fail to build it because of libdatachannel missing headers.
2025-03-14 12:52:27 -04:00
Ryan Foster f590a35bf7 cmake: Fix some Qt DLLs not being copied due to filename patterns
Qt has some Release DLLs that end with the letter d:
* qdirect2d.dll
* qcertonlybackend.dll
* qopensslbackend.dll
* qschannelbackend.dll

As a result, they get caught by our simple check for if a DLL is a Debug
DLL which just checks if the DLL ends with the letter d.

Extend that check to exclude these specific DLLs from being marked as
Debug DLLs.
2025-03-14 11:47:54 -04:00
Huts, Roman 11f2322711 obs-ffmpeg: Fix throughput checks for older AMD driver 2025-03-14 08:43:14 -04:00
Ryan Foster 2964d54eef CI: Use rebuilt CEF to avoid memory allocation crashes on macOS
Use a rebuilt CEF of the same version (6533) that disables
use_partition_alloc_as_malloc and enable_backup_ref_ptr_support to avoid
memory-related crashes on macOS.
2025-03-13 17:42:14 -04:00
Huts, Roman 1a2f8c2844 obs-ffmpeg: Add AMD AV1 B-frame support 2025-03-13 16:53:16 -04:00
Gale, Thy-Lan 7f94906d5f obs-qsv11: Fix CBR Spike for Battlemage 2025-03-13 15:40:29 -04:00
prgmitchell b64f549ec9 win-capture: Add FragPunk to compatibility list 2025-03-12 17:32:18 -04:00
PatTheMav f165e63831 CI: Add Windows ARM64 to build matrix 2025-03-12 16:33:00 -04:00
PatTheMav d6e5ecd88a plugins: Add ARM64 support to obs-ffmpeg, obs-filters, and obs-outputs 2025-03-12 16:33:00 -04:00
PatTheMav df97bddd87 cmake: Update cross-platform build project management for Windows
Enables creation of x64 and x86 child projects when building on ARM64
and decouples functionality from legacy_check function
2025-03-12 16:33:00 -04:00
Ryan Foster 25fbaf7bb8 CI: Update deps to 2025-03-06 release
Notable Changes:
 * deps.ffmpeg: Update AMF to 1.4.36
 * deps.windows: Update VPL to v2.14.0
 * deps.ffmpeg: Update libpng to 1.6.47
 * deps.ffmpeg: Update SVT-AV1 to 2.3.0
 * deps.ffmpeg: Update AOM to 3.12.0
 * deps.ffmpeg: Update nv-codec-headers to n13.0.19.0
 * deps.ffmpeg: Update FFmpeg to 7.1
 * deps.macos: Update LuaJIT to v2.1 a4f56a459
 * deps.macos: Update libpng to 1.6.47
 * deps.macos: Update Asio to 1.32.0
 * deps.macos: Update Syphon to 5.0 b834acdb9
 * deps.macos: Update VLC headers to 3.0.21
 * deps.qt: Update Qt to 6.8.2 for macOS
 * deps.qt: Update Qt to 6.8.2 for Windows
 * deps.windows: Update curl to 8.12.1
 * deps.windows: Update LuaJIT to v2.1 a4f56a459
 * deps.windows: Update Asio to 1.32.0
 * deps.windows: Update Zstandard to 1.5.7
 * deps.windows: Update VLC headers to 3.0.21
 * deps.ffmpeg: Fix libdatachannel shared library build on Windows
 * deps.ffmpeg: Fix shared library CMake flag on macOS

Also, add Windows arm64 deps, though they are not used yet.
2025-03-07 17:33:02 -05:00
Ryan Foster ef2fe6fdd3 libobs: Update version to 31.0.2 2025-03-07 16:44:15 -05:00
jcm 4fd671ee89 mac-avcapture: Prevent race condition in source init/deinit 2025-03-07 13:51:17 -05:00
Ryan Foster 3437e2b082 win-dshow: Fix possible crash if frame width or height is zero
If a frame has a width or height of zero, this value will make it into
libobs/media-io/video-frame.c:video_frame_init and cause linesizes or
heights to be zero, which will result in a bmalloc(0) call and OBS will
crash.

Instead of letting the call stack get that far, check the frame width
and height here at the source, log an error, and return early if the
frame width or height are zero.
2025-03-07 12:33:08 -05:00
Mirza Özokyay 90570e7a70 libobs,win-capture,win-wasapi: Fix typo in macro WIN32_LEAN_AND_MEAN
Fix the macro to prevent unnecessary headers from being included by
<windows.h>. This reduces compilation time and may prevent future bugs
due to unexpected includes.
2025-03-03 16:13:36 -05:00
Ryan Foster 3d9d066d07 obs-browser: Update version to 2.24.5
082a0a2 - Don't emit a normal call to a function for closing panels
663dc38 - Disable modern game controller API on Windows
4023fad - Log fatal CEF crashes to file
52c1527 - Print browser source renderer crashes to OBS log
af0651b - Log error if CefInitialize fails
8223215 - Revert "Enable Qt message loop on Linux"
16ff0fa - Update version to 2.24.5

Additionally, update buildspec.json and build-aux/modules/99-cef.json to
use the new CEF builds. This is being done because the changes in
obs-browser specifically are meant to work with a CEF build compiled
with use_gtk=false.
2025-03-03 15:10:46 -05:00
Ryan Foster 50429bd2b0 obs-websocket: Update version to 5.5.5 2025-03-03 14:13:23 -05:00
Matt Gajownik 0bcf881ae9 cmake: Don't copy legacy, unused Chromium file
While CEF continues to ship & read this up to and including in CEF 6834,
it hasn't actually been used since Chromium 66, so we can safely remove
it without causing regressions in 5060 or 6533.

https://bitbucket.org/chromiumembedded/cef/commits/719f423e7030540f9b334d12e2ef9f82fc759a36
2025-02-28 18:38:31 -05:00
thirumalai-qcom 9664354924 frontend: Define WIN32_LEAN_AND_MEAN conditionally for ARM64
To avoid redefinition errors, define WIN32_LEAN_AND_MEAN conditionally
if not defined in win-ARM64 devices.
2025-02-28 16:29:57 -05:00
thirumalai-qcom 6862de6d14 obs-outputs: Use _CountTrailingZeros() in ctz32 for ARM64
This change modifies the `ctz32` function to use `_CountTrailingZeros`
when `_M_ARM64` is defined, as `_tzcnt_u32` is not available on WOA.
2025-02-28 16:29:57 -05:00
thirumalai-qcom b9fa929ab3 obs-filters: Rename S_THRESHOLD to S_FILTER_THRESHOLD
Rename S_THRESHOLD to S_FILTER_THRESHOLD to prevent macro redefinition
warnings in obs-filters.
2025-02-28 16:29:57 -05:00
thirumalai-qcom 147d332de3 libobs: Add ARM64 support to Windows crash handler
Adjust obs-win-crash-handler.c to handle instruction pointers and
stack traces, improving crash reporting on ARM64 systems.
2025-02-28 16:29:57 -05:00
thirumalai-qcom 0daa31355d deps: Add ARM64 definitions in w32-pthreads
Update w32-pthreads/context.h to include definitions for _M_ARM and
_M_ARM64 in addition to existing ARM definitions.
2025-02-28 16:29:57 -05:00
Dennis Sädtler 73725c27d3 frontend: Fix manifest commit hash comparison 2025-02-22 16:15:56 -08:00
Lain 70dc224a2e libobs: Do not lock sources mutex unnecessarily
In obs_load_sources(), the master sources mutex was being locked
seemingly unnecessarily. This could cause race conditions if used
incorrectly.
2025-02-22 16:06:00 -08:00
DeeDeeG a8a349c805 obs-nvenc: Fix lookahead depth value logging
This was logging an intermediate value, rather than the final lookahead
depth value after all calculations. Log the final value instead.
2025-02-22 16:04:19 -08:00