15539 Commits

Author SHA1 Message Date
Warchamp7
686ee75a05 frontend: Set up theme watcher during init 2026-05-28 16:09:19 -04:00
John Bowers
4d6d9a5166 frontend: Slight change to multi-track text
Change text to indicate that enhanced broadcasting/MT does not have
to configure multiple encodes, although it often/usually does.
2026-05-27 12:45:53 -04:00
Ryan Foster
4726edd113 frontend: Fix updates failing when configured without What's New
The updates config folder is used to download files tied to update
branch selection and application updates. If this folder does not exist,
the downloads fail. Tying this folder creation to What's New, which also
uses this folder, seems incorrect, since it is also uses for application
updates. Remove the ifdef guard for folder creation.
2026-05-26 17:07:05 -04:00
Zhang Boyang
97ee7fa7cb cmake: Fix dependency download logic
Previously, if download failure occurred or interrupted by Ctrl-C, the
broken file is not removed. This is true for the first case because
"message(FATAL_ERROR ..." stops cmake and "file(REMOVE ..." is never
reached. After that, if cmake is run second time, SHA256 verification is
skipped and the broken file will be used.

This patch fixes this by using a temporary intermediate file. The file
data is downloaded into a temporary file first, then the temporary file
is atomically renamed to destination.

Error checking of download status is also improved. The if clause now
checks error code against zero more strictly, according to cmake's
documentation.
2026-05-26 15:41:10 -04:00
jpark37
290904c47d obs-filters: Add filter to compose SDR into HDR
Provide ability to use power of 2.4 to simulate BT.1886 for Rec. 709.
2026-05-26 15:16:00 -04:00
Ryan Foster
14a664a4e9 Merge pull request #13449 from RytoEX/update-actions
CI: Update GitHub actions
2026-05-26 14:44:38 -04:00
Ryan Foster
aafd466423 CI: Update sign-windows commit 2026-05-26 14:19:50 -04:00
Ryan Foster
037100a281 CI: Update yuzutech/annotations-action to v0.6.0 2026-05-26 14:18:40 -04:00
Ryan Foster
5b1a4fc8c2 CI: Update peter-evans/create-pull-request to v8.1.1 2026-05-26 14:18:40 -04:00
Ryan Foster
51462e7f22 CI: Update obsproject/obs-crowdin-sync
Update both the download and upload actions.
2026-05-26 14:18:40 -04:00
Ryan Foster
6dfd961099 CI: Update korelstar/xmllint-problem-matcher 2026-05-26 14:18:40 -04:00
Ryan Foster
d8dc0df278 CI: Update google-github-actions/auth to v3.0.0 2026-05-26 14:18:40 -04:00
Ryan Foster
8167a74c60 CI: Update github/codeql-action/upload-sarif to v4.35.5 2026-05-26 14:18:40 -04:00
Ryan Foster
5ecc2dd514 CI: Update flatpak/flatpak-github-actions to v6.7
Update both flatpak-builder and flat-manager.
2026-05-26 14:18:40 -04:00
Ryan Foster
0e9c744a4a CI: Update cloudflare/wrangler-action to v4.0.0 2026-05-26 14:18:40 -04:00
Ryan Foster
065c1e2b77 CI: Update Homebrew/actions/setup-homebrew 2026-05-26 14:18:40 -04:00
Ryan Foster
9774be6c1c CI: Update CyberAndrii/steam-totp
Update to remove node20 deprecation warnings.

Also update the source of the action since the name has changed.
2026-05-26 14:18:40 -04:00
Ryan Foster
bc17e3dc5f CI: Update CyberAndrii/setup-steamcmd
Update to remove node20 deprecation warnings.

Also update the source of the action since the name has changed.
2026-05-26 14:18:40 -04:00
Ryan Foster
bf0c56d9e7 CI: Update actions/upload-artifact/merge to v7.0.1 2026-05-26 14:18:40 -04:00
Ryan Foster
34e3cfe99e CI: Update actions/upload-artifact to v7.0.1 2026-05-26 14:18:40 -04:00
Ryan Foster
11330693e9 CI: Update actions/download-artifact to v8.0.1 2026-05-26 14:18:40 -04:00
Ryan Foster
9ba3b7357c CI: Update actions/checkout to v6.0.2 2026-05-26 14:18:40 -04:00
Ryan Foster
3f505216ee CI: Update actions/cache/save to v5.0.5 2026-05-26 14:18:40 -04:00
Ryan Foster
e3a0540a3a CI: Update actions/cache/restore to v5.0.5 2026-05-26 14:18:40 -04:00
Ryan Foster
49adc4d463 CI: Update actions/cache to v5.0.5 2026-05-26 14:18:40 -04:00
Ryan Foster
716784f02b CI: Update actions/attest-build-provenance to v4.1.0
Also, change from actions/attest-build-provenance to actions/attest. The
former is just a wrapper around the latter now.
2026-05-26 14:18:40 -04:00
andrewsoncha
d412d64ef9 plugins: Fix build issues in Xcode 26.4
Replaced implicit type conversion within macOS plugins (mac-capture,
mac-syphon, mac-videotoolbox, mac-virtualcam) with explicit type
conversions to clear compile errors with Apple Clang 21.0 and Xcode
26.4.

Co-authored-by: PatTheMav <patthemav+github@gmail.com>
Co-authored-by: jcm <6864788+jcm93@users.noreply.github.com>
2026-05-26 13:39:02 -04:00
Exeldro
854948b8df frontend: Add copy paste functions 2026-05-22 17:25:23 -04:00
tfo
17fc299b74 win-dshow: Fix CreateFileW return value check in virtualcam filter
CreateFileW returns INVALID_HANDLE_VALUE on failure, not NULL.
The previous check would always evaluate to true on failure,
causing ReadFile and CloseHandle to be called on an invalid
handle.
2026-05-22 16:36:52 -04:00
Tarun E
fdca38a63e image-source: Include .webp files in directory source
Previously, the Image Slide Show source skipped *.webp files when
adding images via 'Add Directory'. This update ensures that .webp
files are now correctly included.
2026-05-22 16:07:02 -04:00
Asahi Lina
57291eb9b0 libobs-opengl: Reject external-only modifiers
These modifiers cannot be used with the standard texture sampling
codepaths, so we need to reject them to avoid invalid GL operations.

Closes obsproject/obs-studio#12498
2026-05-22 15:33:32 -04:00
Throw
a13632c0d9 libobs: Correctly handle duplicator failure 2026-05-21 15:20:57 -04:00
tfo
bd96ff53dd obs-nvenc: Fix resource destruction order
The NVENC session was destroyed before its child resources
(textures, surfaces) were cleaned up, causing resource cleanup
calls to operate on an invalid session handle.

Reorder destruction to free all registered resources before
destroying the encoder session.
2026-05-21 14:29:54 -04:00
Warchamp7
a0a480dc80 frontend: Add spacing to properties hint icon 2026-05-19 16:48:52 -04:00
Dennis Sädtler
888a5160fa libobs: Adjust obs_canvas_get_video_info() to get video info from mix
This aligns obs_canvas_get_video_info() and obs_get_video_info() and
ensures the frame-rate is correct rather than returning the
potentially stale data stored in the canvas itself.
2026-05-19 15:24:09 -04:00
Warchamp7
638f885e5d frontend: Fix thumbnail update rate 2026-05-19 13:36:52 -04:00
Joel Bethke
5dacbb63fb Update CONTRIBUTING.md
Clarify AI usage in our project.
2026-05-13 14:53:42 -07:00
Dennis Sädtler
1ecea56817 libobs: Properly fix canvas video reset/restore 2026-05-08 16:28:19 -04:00
Dennis Sädtler
8fb81caf0a Revert "libobs: Restore only canvases that have video info"
This reverts commit 9a62529f02.
2026-05-08 16:28:19 -04:00
Warchamp7
855b8a9d6f frontend: Add minimum width to spinboxes 2026-05-08 14:35:15 -04:00
Richard Stanway
cd7562791f frontend: Apply process mitigation policies for Windows
DEP: Enable DEP as it's still opt-in even on Windows 10. No OBS code or
plugins should be executing data as code and this is an important
mitigation against stack-based buffer overflows.

ASLR: Enable and force ASLR. This makes it harder for any potential
exploits to use fixed offsets into OBS or Windows DLLs to run gadgets.

Extension Points: Disable extension points. These are typically used for
system-wide code injection, and we have generally had trouble with
various things injecting into OBS and causing issues.

Handle Check: Enable strict handle checks when running debug builds.
This will raise an exception if we operate on an invalid handle,
something that should hopefully not ever happen in the current code.
2026-05-08 14:08:12 -04:00
Sebastian Beckmann
77fb5b4bc7 libobs: Disallow overwriting the crash handler
Setting a new crash handler overwrites the existing one. This is not
desirable.
2026-05-08 13:04:27 -04:00
Warchamp7
1b41b44b50 frontend: Fix warning for themeWatcher 2026-05-07 17:34:08 -04:00
ansh1406
5f2720ac98 libobs: initialize peak values using absolute value in get_true_peak and get_sample_peak 2026-05-07 16:35:09 -04:00
cg2121
8163bbf5c8 frontend, libobs: Add ability to set custom source icons
This allows setting dark and light icons for a source.
2026-05-07 16:11:24 -04:00
Warchamp7
12597e9484 frontend: Replace add source dropdown with dialog
Co-Authored-By: Lain <134130700+Lain-B@users.noreply.github.com>
2026-05-07 15:31:10 -04:00
Exeldro
b1a15af06e image-source: Set minimal size for color source to 1 pixel 2026-05-07 15:03:11 -04:00
Grant Likely
fbc99ecd74 frontend: Add theming for checked QToolButtons
The Yami theme provides colours for checked QPushButtons, but does not
do the same for checked QToolButton. This commit adds colors for the
QToolButton:checked: state that match the QPushButton:checked: colors
2026-05-07 14:34:01 -04:00
Kurt Kartaltepe
cbfd6d2677 libobs: Remove extra gs_flush calls
These calls introduce pipeline stalls in OpenGL on low end machines
which can contribute to a fairly significant 10-30% of total rendering
time.

The driver already needs to synchronize events within the context so
these calls are not needed for correctness for OpenGL.
2026-05-07 13:49:53 -04:00
jcm
cc0fd86c05 mac-avcapture: Avoid possible bad access on device connect events 2026-05-07 13:24:18 -04:00