14686 Commits
Author SHA1 Message Date
Ryan Foster e6137e15e0 libobs: Update version to 31.0.2
(cherry picked from commit ef2fe6fdd3)
31.0.2
2025-03-07 16:45:32 -05:00
jcmandRyan Foster 2b6bacd6f5 mac-avcapture: Prevent race condition in source init/deinit
(cherry picked from commit 4fd671ee89)
2025-03-07 15:56:35 -05:00
Ryan Foster c4c2b77741 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.

(cherry picked from commit 3437e2b082)
2025-03-07 15:56:35 -05:00
Ryan Foster 2deb61b68a 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.

(cherry picked from commit 3d9d066d07)
2025-03-07 15:56:35 -05:00
Ryan Foster d8e2431e30 obs-websocket: Update version to 5.5.5
(cherry picked from commit 50429bd2b0)
2025-03-07 15:56:35 -05:00
DeeDeeGandRyan Foster f134ea6bff 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.

(cherry picked from commit a8a349c805)
2025-03-07 15:56:35 -05:00
BleuzenandRyan Foster b1c06c7256 obs-nvenc: Correct max target quality for AV1
(cherry picked from commit 05c2f56853)
2025-03-07 15:56:35 -05:00
Yann SalmonandRyan Foster 569d0132ab cmake: Fix regexp to detect installed FFmpeg version
The regexp was not tolerating a + sign is the version string,
causing configuration to fail on Ubuntu 24.04 when the installed
version is 6.1.1-3ubuntu5+esm2.

(cherry picked from commit 9b97d48573)
2025-03-07 15:56:35 -05:00
pkvandRyan Foster 7447d7a7ca nv-filters: Remove CUDA RT functions
We don't use CUDA RT functions anymore.
So this commit removes their loading from the CUDA RT DLL.
This also fixes a crash when loading different versions of CUDA RT when
the SDK is updated [1].

[1] https://github.com/obsproject/obs-studio/issues/11813

Signed-off-by: pkv <pkv@obsproject.com>
(cherry picked from commit d1249cd993)
2025-03-07 15:56:35 -05:00
pkvandRyan Foster 146056d7a6 nv-filters: Update SDK version targeted
This updates checks against current SDK redist versions:
- 0.7.6 (Video Effects)
- 1.6.1.2 (Audio Effects)

Users will receive a warning if their redist versions are lower than
these.

Signed-off-by: pkv <pkv@obsproject.com>
(cherry picked from commit 417eddfc9d)
2025-03-07 15:56:35 -05:00
jcmandRyan Foster 40e2bc5112 obs-scripting: Fix macOS Homebrew Python loading
(cherry picked from commit 83934acb44)
2025-03-07 15:56:35 -05:00
Translation UpdaterandTranslation Updater b7b7c4cbbc Update translations from Crowdin 31.0.1 2025-01-18 00:10:25 +00:00
Ryan Foster decdf44c9e libobs: Update version to 31.0.1
(cherry picked from commit 0014f9fa18)
2025-01-17 18:42:06 -05:00
Ryan FosterandPatTheMav 07be61a2e3 UI: Use filename stem as fallback value on empty collection name
If - for some reason - the name in a scene collection is empty (or
the key doesn't even exist), use the filename stem as a fallback name.

This ensures that the scene collection entry in the cache has a valid
non-empty name.

Using an std::string allows the use of its "empty" method to check for
this otherwise invalid state of the collection data.

Ported from 1baa4619e4.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2025-01-17 17:45:22 -05:00
Ryan FosterandPatTheMav e21712af3e UI: Prevent creation of scene collections with empty name
Empty names for scene collections are not allowed, but this constraint
is only enforced by UI code during text input.

Thus frontend API users are able to create valid scene collections with
empty names which will lead to later possible crashes as the scene
collection is malformed.

As the frontend API uses the related function CreateNewSceneCollection
which handles exceptions by this method, no crashes should occur when
an empty string is provided by an API caller.

Ported from 552c19cab2.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2025-01-17 17:42:29 -05:00
Kurt KartaltepeandRyan Foster 85000b441d libobs: Fix underlinking by adding libx11
We directly depend on libx11 for various operations in obs-nix-x11.c,
not just xcb. So be sure to link it in too.

fixes #11667

(cherry picked from commit 22f222600a)
2025-01-17 17:33:55 -05:00
derrodandRyan Foster b8c563cba7 image-source: Fix slideshow stopping on last file in random mode
(cherry picked from commit 41a38f742c)
2025-01-17 17:33:55 -05:00
derrodandRyan Foster c1c76a472f obs-nvenc: Abort encoder init if custom options are invalid
(cherry picked from commit 223015bd54)
2025-01-17 17:33:55 -05:00
derrodandRyan Foster 483c66c65e obs-nvenc: Fix translation string for 4:4:4 unsupported error
(cherry picked from commit 7a04980213)
2025-01-17 17:33:55 -05:00
gxalphaandRyan Foster 0db19736a4 cmake: Turn off camera reaction by default on macOS 14.4 and later
The reaction effects that macOS adds by default are confusing to users
as they're turned on by default and users don't know where they come
from or where to turn them off. Setting this flag in the apps Info.plist
prevents them from being turned on by default. The macOS UI makes it
very obvious to the user where they can turn them on should they wish to
do so.

(cherry picked from commit 79f5ba0e1d)
2025-01-17 14:11:50 -05:00
izwb003andRyan Foster b467ab7b71 libobs: Fix deadlock on macOS input method change
(cherry picked from commit 48dad45ed5)
2025-01-08 15:33:26 -05:00
tytan652andRyan Foster 8c2c1ba29f libobs-opengl: Avoid trying to allocate 0 byte on Linux
(cherry picked from commit a0e4e37341)
2025-01-08 15:33:26 -05:00
PenwywernandRyan Foster 61a5a92582 UI: Fix linux base folder location 2025-01-08 15:25:15 -05:00
derrodandRyan Foster 248955bd6e UI: Fix remigrating scene collections from absolute to relative 2025-01-08 13:33:02 -05:00
tytan652andRyan Foster f03280c4fd CI: Disable Flatpak bundling on publish
It is not needed to publish on a Flatpak repo and the push workflow
already generates a bundle.
2024-12-10 15:49:19 -05:00
pkvandRyan Foster 69a825b71b obs-filters: Maintain order of migrated NVAFX filters
This fixes a bug where the NVIDIA NVAFX filters are migrated but not
kept in their original order, with respect to other filters.

Signed-off-by: pkv <pkv@obsproject.com>
2024-12-10 14:34:48 -05:00
Ryan Foster b4cd523d28 CI: Disable PVS-Studio job
Per discussion, temporarily disable PVS-Studio for now.
2024-12-09 18:42:47 -05:00
tytan652andRyan Foster e845729dfd libobs/util: Improve inhibit portal detection on Linux
Check for a property of the inhibit portal rather than just the portal
D-Bus name that does not indicate if the specific portal is available.
2024-12-09 18:05:17 -05:00
ChrisandGitHub e3b518d08f win-capture: Add The Bazaar to compatibility list (#11601) 2024-12-09 02:12:54 -06:00
Gol-D-AceandGitHub fbf2ea1a82 win-capture: Add Marvel Rivals to compatibility list (#11594) 2024-12-08 12:25:11 -06:00
Translation UpdaterandTranslation Updater 0b2c85845e Update translations from Crowdin 31.0.0 2024-12-06 23:21:55 +00:00
derrodandRyan Foster 10dc43b3cd libobs: Remove relative positioning functions
Revert "docs: Add new relative positioning scene functions"

This partially reverts commit 366cfdb963.

The addition of obs_sceneitem_(get/set)_info2 was not removed as that is
still valid.
2024-12-04 14:41:03 -05:00
derrodandRyan Foster e9c6105f99 libobs: Fix scale calculation when applying new group transform 2024-12-03 15:33:36 -05:00
PatTheMavandRyan Foster b285a849b9 UI: Fix collision of existing backup files for new scene collections
The new Scene Collection code uses the lazy creation behaviour of
OBSBasic::Load, which itself uses obs_data_create_from_json_file_safe.

The internal implementation will create a new scene collection with the
contents of an existing backup file with the same name however, thus
users would end up with a nominally "new" scene collection that
contains contents of an old backup.

This update will remove any existing backup file colliding with the
name of the new, duplicated, or renamed, scene collection and remove it
before activating it (and having OBSBasic::Load create a new one).
2024-12-03 15:09:11 -05:00
Ryan Foster c8e215be3d cmake: Fix build directory exclusion for real
Upon further review, the build directory is never set to build_$arch.
Currently, our CMake Presets on Ubuntu only use build_ubuntu. However,
we can attempt to be flexible here and simply exclude the build
directory configured in CMake.
2024-11-26 16:05:53 -05:00
testandRyan Foster e2cd815b84 UI: Add unassigned icon 2024-11-25 15:45:27 -05:00
tytan652andRyan Foster dfc3a69c52 obs-ffmpeg: Avoid setting negative bitrate for lossless audio codec
Since FFmpeg 7.1 a check was added to disallow pre-initializing encoder
with a negative bitrate.

https://github.com/FFmpeg/FFmpeg/commit/74385dd496bdcda9a6e029fabf4946f2234a0d13
31.0.0-rc1
2024-11-20 13:27:38 -05:00
PatTheMavandRyan Foster 7ffc38ebb6 UI: Fix broken module paths provided via environment on macOS
When custom module and module data paths are provided via environment
variables, the module paths generated by current code will not be
compatible with the plugin bundle structure used on macOS.

Using environment variables is a simple way to test plugins,
as this allows OBS to discover them from alternative user-provided
locations.
2024-11-20 13:01:15 -05:00
PenwywernandRyan Foster ca342c2491 frontend-tools: Correctly pass settings to modified cb on reload 2024-11-19 18:11:08 -05:00
Dennis SädtlerandRyan Foster b71f43980a UI: Fix falling back to non-multitrack output after error
This lambda would be called from the Qt event loop rather than the
original call stack when continuing from an error, resulting in the
captured references being invalid.
To solve this must explicitly use a copy instead of reference capture.
2024-11-19 16:55:52 -05:00
Dennis SädtlerandRyan Foster 1648dcc7f2 UI: Fix autoconfig saving signed stream key 2024-11-19 16:00:23 -05:00
Ruwen HahnandRyan Foster 4c1f783c66 UI: Forward auto rtmp/rtmps IVS preference
(cherry picked from commit ffa751696106761ddcf965d3f68e0d8920495a9b)
2024-11-18 17:12:45 -05:00
Ruwen HahnandRyan Foster a00595c2d7 UI: Ignore all auto URLs for server selection
(cherry picked from commit a36c1d4dd4b07e9b0aa66f286fe52f6f5a8d9e98)
2024-11-18 17:12:45 -05:00
MarcoandRyan Foster 7722698c7c decklink: Fix string handling causing plugin to not function 2024-11-18 15:58:57 -05:00
confusionattackandLain 4652daf748 win-capture: Avoid NULL deref when capture not initialized 2024-11-16 11:32:10 -08:00
Ryan Foster b5f4958eac cmake: Fix build directory exclusion
The regex was incorrectly excluding any file with build in the name. The
intent was to exclude any build directories, so we should be able to
restrict this.
2024-11-15 15:30:09 -05:00
7979421cbf mac-capture: Don't read channels for disconnected audio device
Co-authored-by: PatTheMav <patthemav+github@gmail.com>
2024-11-08 13:14:34 -05:00
Ryan Foster b854f61a1d obs-qsv11: Remove checks for DX11
Since we currently only support DX11_D3D surfaces on Windows, we can
remove the checks for that flag and the flag itself.
2024-11-07 17:33:59 -05:00
Ryan Foster bce98b607a obs-qsv11: Remove old DX9 code
This code was left over from a previous cleanup. We currently only use
DX11_D3D surfaces on Windows.
2024-11-07 17:33:59 -05:00
Ryan Foster 110efc0125 obs-qsv11: Remove unused debug variable 2024-11-07 16:47:06 -05:00