14675 Commits
Author SHA1 Message Date
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
Ryan Foster 3bcc40ab4c obs-qsv11: Move debug code into debug sections
The code that checked frame types was used by both the MSDK < 1.7 code
and by the debug code afterward that was conditionally enabled with a
preprocessor check. Since the frame type checks are no longer used by
user code, move it to the debug/dev code.
2024-11-07 16:47:06 -05:00
Ryan Foster d67f971756 obs-qsv11: Remove old MSDK 1.6 code
The old MSDK 1.6 code paths were for older devices which we no longer
support. Typically, version 1.0 is reported when QSV fails to
initialize. The lowest version that should be supported is 1.35, so we
should not need code that covers versions 1.0 to 1.6.
2024-11-07 16:47:06 -05:00
ExeldroandRyan Foster f08c9523e4 obs-filters: Move nvafx migration to queued task 2024-11-07 16:07:13 -05:00
shiina424andRyan Foster d7292a4f64 UI: Create YouTube Dock when switching profile 2024-11-05 14:42:06 -05:00
Ryan Foster 24ea557087 obs-websocket: Update version to 5.5.4 31.0.0-beta3 2024-11-01 16:29:37 -04:00
testandRyan Foster bb9399a948 UI: Add trash and general icon 2024-11-01 16:03:13 -04:00
testandRyan Foster c531c304b2 UI: Add trash icon 2024-11-01 16:03:13 -04:00
shiina424andRyan Foster 7dc0064292 UI/themes: Fix missing icon in system theme 2024-11-01 16:03:13 -04:00
shiina424andRyan Foster 5ccab9c65b UI/themes: Fix control button pressed color in Rachni theme 2024-11-01 15:31:11 -04:00
Charlese2andRyan Foster 0b87f533b2 graphics-hook: Fix null pointer dereference
Multiple APIs may be set up to capture without being initialized in
graphics-hook when multiple threads are sending present calls. This just
prevents those invalid captures from completing.
2024-10-31 12:46:04 -04:00
PatTheMavandRyan Foster bf00c17b2b UI: Update profile encoder information after module load
The function InitBasicConfigDefaults2's purpose is to set up encoder-
related settings for a profile, which requires all available encoders
to have been discovered first.

As encoders are added by runtime modules, this also means that discovery
needs to be delayed until after modules have been loaded, but modules
themselves require a valid profile to exist and be loaded.

This leads to the requirement of profiles needing to exist in a
half-initialized state when modules are loaded and only becoming
fully initialized after that.

This distinction is not necessary after the initial launch of obs-studio
because runtime plugins are not hot-loadable, so the update can happen
unconditionally at any time a plugin is changed, which implicitly
couples every call to ActivateProfile with a call to
UpdateProfileEncoders.
2024-10-30 16:18:29 -04:00