tytan652 and Ryan Foster
71ef44f06e
cmake: Require MbedTLS 3 and exclude 4 or later
...
Until the codebase is updated to support it, CMake will explicitly search
for version 3 that is supported by the codebase.
2026-08-21 15:00:09 -04:00
tytan652 and Ryan Foster
c568ee4969
linux-pipewire: Forbid screencast source duplication
...
Each instance holds a unique session with a unique restore token.
Which both can not be duplicated.
2026-08-20 23:13:55 -04:00
tytan652 and Ryan Foster
71550823f7
build-aux: Update Flatpak to 2026-07-15 deps
...
- Backport Qt fix for QTBUG-146665
2026-07-16 14:13:04 -04:00
tytan652 and Ryan Foster
74fd272db6
build-aux: Update Flatpak to 2026-06-26 deps
...
- Update FFmpeg to version 8.1.2
2026-06-30 12:58:51 -04:00
tytan652 and Ryan Foster
873eea74e3
frontend: Explicitly set plugin manager linkage to nlohmann_json
2026-06-19 18:20:23 -04:00
tytan652 and Ryan Foster
381d4ba2f4
build-aux: Update Flatpak to 2026-06-06 deps
...
- Update nv-codec to n13.0.19.0
- Update FFmpeg to 8.1
- Update qrcodegen-cmake to v1.8.0-cmake4
- Update libdatachannel to v0.24.2
- Update plog to version 1.1.11
- Update Qt to 6.11.1
- Update libvpl to version 2.16.0
- Update vpl-grpu-rt to version 26.1.5
- Update ECM to version 6.26.0
2026-06-08 16:09:33 -04:00
tytan652 and Ryan Foster
60533db7c7
CI: Add local exceptions to flatpak-builder-lint
...
For some reason the action can no longer check if the URL generated in
the metainfo is reachable.
So to avoid keeping CI failing, local exceptions rule are
added.
Unfortunately it requires to keep a copy of exceptions already submitted
to Flathub.
2026-03-08 11:48:16 -04:00
tytan652 and Ryan Foster
0d1f61b04b
linux-pipewire: Fix camera framerate listing
...
The SPA format (pixelformat) was compared with a libobs video format
value.
Also removes the SPA format support check since at this point it already
has been done while listing formats.
2026-01-23 10:57:10 -05:00
tytan652 and Ryan Foster
c9bbe81d53
frontend: Add vcs-browser to metainfo
...
flatpak-build-lint warns to add it.
2026-01-15 14:40:53 -05:00
tytan652 and Ryan Foster
4cfcfc8c35
linux-pipewire: Make camera framerate non-mandatory
...
Formats can be without any framerate options.
2026-01-14 14:25:27 -05:00
tytan652 and Ryan Foster
916a50c83d
build-aux,CI: Update Flatpak to 2026-01-09 deps
...
- Upgrade to Freedesktop 25.08
- Update libvpl to version 2.15.0
- Update vpl-gpu-rt to version 25.3.4
2026-01-10 18:38:08 -05:00
tytan652 and Ryan Foster
ef9ec6fcc3
build-aux,CI: Replace Flatpak KDE SDK with Freedesktop SDK
...
The Qt components are from the same repo as other dependencies.
The KDE Platform was never a good fit for OBS Studio for multiple
reasons:
- Life cycle too short and misaligned with OBS Studio causing users to
get EOL notification too often.
- Third-party Qt plugins were allowed which could change Qt's behavior.
- KDE exclusives sandboxed holes were inherited.
2025-12-17 21:15:17 -05:00
tytan652 and Ryan Foster
081b684959
build-aux: Replace Flatpak modules with pre-compiled dependencies
...
To reduce compile time and prepare for aarch64 support, dependencies
compilation except CEF is moved to a BuildStream project junctionned
with Freedesktop SDK.
The BuildStream project is configured to build dependencies in a
Flatpak-like environment.
2025-12-17 21:15:17 -05:00
tytan652 and Ryan Foster
c142571d5c
frontend: Cleanup Qt GuiPrivate linkage
...
Remove unneeded linkages and guard needed ones for Qt versions earlier
than 6.9.0.
2025-12-17 15:04:49 -05:00
tytan652 and Ryan Foster
b6524fef5a
CI: Prepare more space for Flatpak jobs
2025-11-26 13:50:31 -05:00
tytan652 and Ryan Foster
a9002811ad
CI: Update Flatpak action
...
https://github.com/flatpak/flatpak-github-actions/pull/231
2025-09-19 14:51:41 -04:00
tytan652 and Ryan Foster
9b2662117a
cmake: Remove library compat symlink on Linux
2025-09-04 16:29:17 -04:00
tytan652 and Ryan Foster
e0aa7c2943
Revert "cmake: Avoid breaking ABI through major version bump on Linux"
...
This reverts commit 129d4f2f3f .
2025-09-04 16:29:17 -04:00
tytan652 and Ryan Foster
551f203499
Revert "cmake: Use fixed SOVERSION everywhere"
...
This reverts commit cc36ccd07d .
2025-09-04 16:29:17 -04:00
tytan652 and Ryan Foster
480f514abb
CI,build-aux: Use rebuilt CEF on Linux and macOS
...
- Linux has backports to fix stack smash and TLS issues
- macOS has structure changes to work with Xcode 26
2025-09-04 15:14:46 -04:00
747f67e150
frontend: Do not enable crash log upload without log file
...
Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com >
2025-09-02 15:28:33 -04:00
tytan652 and Ryan Foster
ec447243c5
libobs: Add Flatpak commit logging
...
This can allow to determine the origin of a Flatpak build.
2025-08-22 20:21:36 -04:00
tytan652 and Ryan Foster
ffcc3acd9d
frontend: Replace transition duration spinbox direct access
2025-08-22 16:48:23 -04:00
tytan652 and Ryan Foster
d22ddfd395
frontend: Reduce reliance on transition indexes
2025-08-22 16:48:23 -04:00
tytan652 and Ryan Foster
2962770813
frontend: Replace transitions combobox direct access
2025-08-22 16:48:23 -04:00
tytan652 and Ryan Foster
11562b6696
frontend: Remove some shadowing
2025-08-22 16:48:23 -04:00
tytan652 and Ryan Foster
2fe0385d13
linux-pipewire: Add aspect ratio to video capture format name
2025-08-22 14:34:28 -04:00
tytan652 and Ryan Foster
3cce28a1d3
linux-pipewire: Add framerates to video capture format name
2025-08-22 14:34:28 -04:00
tytan652 and Ryan Foster
c11253bb08
linux-pipewire: Use list-based format selector for video capture
...
Negotiation is now made with the user selected format.
Also fixes a typo in the name of a structure.
2025-08-22 14:34:28 -04:00
tytan652 and Ryan Foster
2bd23cd50d
libobs,cmake: Replace vendored SIMD Everywhere by prefix/system install
...
SIMD Everywhere finder needs to be installed alongside libobs CMake
package since its headers depends on it.
C++ cmath header is included on Windows on ARM to ensure that all math
functions are correctly defined when included in C++ code.
https://github.com/simd-everywhere/simde/issues/1304
macOS intrinsics is included to make sure that no redefinition error
happens.
2025-08-21 15:22:08 -04:00
tytan652 and Ryan Foster
570f2641f4
cmake: Add a finder for SIMD Everywhere
2025-08-21 15:22:08 -04:00
tytan652 and Ryan Foster
363874b40f
build-aux: Remove unused Flatpak static permission
2025-08-19 17:02:40 -04:00
tytan652 and Ryan Foster
24597a7b8e
Revert "linux-pipewire: Fix 10- and 16-bit captures"
...
This reverts commit 4dfd0b31e4 .
Also adds a FIXME comment.
2025-07-25 15:30:52 -04:00
tytan652 and Ryan Foster
523ddeec9c
build-aux: Use rebuilt CEF on Linux with backported API on Flatpak
2025-07-12 14:16:49 -04:00
tytan652 and Ryan Foster
bdebea3d85
frontend: Enable browser hw accel toggle under Linux
2025-05-24 14:20:21 -04:00
tytan652 and Ryan Foster
b65ee89451
frontend: Use winId for Wayland surface in Qt 6.9+
...
As of Qt 6.9, winId return a wl_surface pointer which allows us to move
away completely from QPlatformNativeInterface.
https://github.com/qt/qtwayland/commit/32f9b4d
2025-05-13 14:40:31 -04:00
tytan652 and Lain
5ed5863556
libobs: Fix module load in relocatable scenario
2025-05-03 16:34:25 -07:00
tytan652 and Ryan Foster
1bf84a6901
cmake: Replace Xcb CMake finders with ECM
2025-04-28 13:30:26 -04:00
tytan652 and Ryan Foster
190389ec11
cmake: Replace Wayland CMake finder with ECM
2025-04-28 13:30:26 -04:00
tytan652 and Ryan Foster
e53293a785
cmake: Use Extra CMake Modules on Linux
2025-04-28 13:30:26 -04:00
tytan652 and Ryan Foster
a368f05d01
CI: Use Flatpak action upstream
...
The fork has been merge with upstream.
https://github.com/flathub-infra/flatpak-github-actions/issues/17
2025-04-22 18:11:27 -04:00
tytan652 and Ryan Foster
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 and Ryan Foster
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 and Ryan Foster
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
tytan652 and Ryan Foster
ecb0381b8e
obs-ffmpeg: Fix deprecation with FFmpeg 7.1
2025-01-24 17:38:24 -05:00
tytan652 and Ryan Foster
a0e4e37341
libobs-opengl: Avoid trying to allocate 0 byte on Linux
2024-12-20 16:23:10 -05:00
tytan652 and Ryan 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
tytan652 and Ryan 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
tytan652 and Ryan 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
2024-11-20 13:27:38 -05:00
tytan652 and Ryan Foster
52a0486c4c
cmake/plugins: Enable -Wswitch on GCC
...
This warning is already enabled for Clang which causes issue for things
that are usually built with MSVC or GCC (e.g. non-macOS plugins).
obs-nvenc switch warning is also fixed in this commit.
obs-qsv11 has switch warning set to not become errors.
2024-10-25 13:01:33 -04:00
tytan652 and Ryan Foster
2e075f7513
cmake: Fix target_add_resource ARGN support on Linux
...
This fixes how the AUTHORS file is installed.
2024-10-24 15:08:37 -04:00
tytan652 and Ryan Foster
03bc6d7cb4
build-aux: Remove CEF stripping workaround
...
This cause issues in Flatpak IDE like GNOME Builder.
2024-10-22 15:08:10 -04:00
tytan652 and Ryan Foster
2aedaaec51
win-update: Remove legacy CMake file
2024-10-07 15:02:23 -04:00
tytan652 and Lain
641d651e55
linux-pipewire: Avoid trying to allocate 0 byte
2024-10-05 16:50:31 -07:00
tytan652 and Ryan Foster
f4c4f09075
libobs/util: Improve inhibit functions on Linux
...
Avoid creating the screensaver inhibitor thread when another method has
been applied.
Make inhibition unavailable in a Flatpak if portal is not available.
2024-10-04 16:38:03 -04:00
tytan652 and Ryan Foster
42670ab4e3
plugins/test: Remove legacy CMake remnants
...
Some legacy files were missed in 72428ccd97
2024-10-03 17:32:08 -04:00
tytan652 and Ryan Foster
26d275223a
libobs-opengl: Relax texture format copy check
...
SRGB and non-SRGB formats are compatible for copy.
2024-09-12 15:35:46 -04:00
tytan652 and Ryan Foster
31385006d5
Remove legacy_check CMake macro
...
The macro was not removed in 72428ccd97
waiting for submodules to be be updated to a commit where their legacy
code path is removed.
2024-09-11 13:24:39 -04:00
tytan652 and Ryan Foster
129d4f2f3f
cmake: Avoid breaking ABI through major version bump on Linux
...
Freeze SOVERSION to 30, this number is to be incremented when a clean
break is wanted.
2024-09-10 00:41:26 -04:00
tytan652 and Ryan Foster
8963d25dd2
build-aux: Update Flatpak modules
...
* Update SVT-AV1 to 2.2.1
* Update FFmpeg to 7.0.2
* Update LuaJIT to 2.1 f725e44cda
* Update Asio to 1.31.0
* Update qrcodegen-cmake to v1.8.0-cmake3
2024-09-05 23:56:00 -04:00
tytan652 and Ryan Foster
34735be094
UI: Fix Qt UIC warning in settings UI
2024-08-31 12:06:38 -04:00
tytan652 and Ryan Foster
b7dbaf4eee
build-aux: Update Flatpak CEF from 103/5060 to 127/6533
...
The CEF module is also modified to:
- Use the pre-built wrapper included in the tarball
- Preserve debug symbols inside its binaries
- The copy done later by OBS Studio build-system will be split from
its debug symbols
2024-08-30 23:05:05 -04:00
tytan652 and Ryan Foster
72428ccd97
Remove CMake legacy code path
...
Except submodules and legacy_check macro since the former depend on it.
2024-08-28 13:53:25 -04:00
tytan652 and Ryan Foster
9e547d8479
build-aux: Update Flatpak modules
...
* Update libvpl to version 2.12.0
* Update vpl-gpu-rt to version 24.2.5
* 24.3 requires VVC from libva which is not the case with the actual
runtime in use
* Update nv-codec to version 12.2.72.0
2024-08-21 19:38:17 -04:00
tytan652 and Rodney
c7b0c63d01
obs-nvenc: Fix building with nvcodec 12.2
2024-08-12 23:40:17 +02:00
tytan652 and Matt Gajownik
3b266fec22
UI,docs: Send a custom event to the dock widget when closing
2024-08-04 10:18:59 +10:00
tytan652 and Ryan Foster
5e5865b716
frontend-tools: Avoid initializing the scene switcher on Wayland
...
The Linux implementation of the automatic scene switcher is X11-only and
the design itself of the feature is incompatible with how Wayland works.
2024-07-29 22:26:15 -04:00
tytan652 and Ryan Foster
7d578c5cfb
plugins: Enable QSV only on x86_64 architecture
...
Intel stack is only completely buildable on x86_64 architectures.
2024-07-29 18:11:29 -04:00
tytan652 and Ryan Foster
8480660bf8
cmake: Add architecture support to add_obs_plugin
...
Also add formatting support to the function
2024-07-29 18:11:29 -04:00
tytan652
4214050cda
UI: Remove obs-ui-support
...
The remaining files are only used by the UI, so those are restored in
the obs-studio target
2024-07-27 07:38:36 +02:00
tytan652
f051fdd75e
UI,shared: Move OBSPropertiesView to its own directory
2024-07-27 07:38:36 +02:00
tytan652
390429c838
frontend-tools: Remove unused source files in legacy path
2024-07-27 07:38:36 +02:00
tytan652
5eb10135da
UI,shared: Move SliderIgnoreScroll to its own directory
2024-07-27 07:38:36 +02:00
tytan652
5e25041491
UI,shared: Move VScrollArea to its own directory
2024-07-27 07:38:36 +02:00
tytan652
f5c25c66af
UI,shared: Move OBSPlainTextEdit to its own directory
2024-07-27 07:38:36 +02:00
tytan652
48f139729f
UI,shared: Move Qt Wrappers to its own directory
2024-07-27 07:38:36 +02:00
tytan652
4882db4ec4
UI: Move QTToGSWindow outside of Qt wrappers
2024-07-27 07:38:36 +02:00
tytan652
2a53015ad7
deps,shared,plugins: Move opts-parser to shared folder
2024-07-27 07:38:36 +02:00
tytan652
f5e2f15d28
deps,shared,frontend-tools: Move obs-scripting to shared folder
2024-07-27 07:38:36 +02:00
tytan652
ade04f4f1c
deps,shared,obs-ffmpeg: Move media-playback to shared folder
2024-07-27 07:38:36 +02:00
tytan652
4b0b71ad5f
deps,shared,win-capture: Move ipc-util to shared folder
2024-07-27 07:38:36 +02:00
tytan652
fa0ffff7c0
deps,shared,obs-outputs: Move happy-eyeballs to shared folder
2024-07-27 07:38:36 +02:00
tytan652
f293a6edd1
deps,shared,plugins: Move file-updater to shared folder
2024-07-27 07:38:36 +02:00
tytan652
7a5b914086
Add shared folder in gitignore and format scripts
2024-07-27 07:38:36 +02:00
tytan652 and Ryan Foster
5545674e6d
CI: Fix flatpak-builder-lint action
...
- Fix for loops syntax
- Manage jq empty output
2024-07-09 17:10:48 -04:00
tytan652 and Ryan Foster
508f9c2e3c
obs-scripting: Refactor Lua C paths
2024-06-14 17:34:14 -04:00
tytan652 and Ryan Foster
b16516a3fa
Revert "cmake: Fix script plugin path on Linux with CMake 3"
...
This reverts commit 7a4cb085ba .
2024-06-14 17:34:14 -04:00
tytan652 and Ryan Foster
c677bac875
UI: Avoid allowing to override provided themes
2024-06-10 17:01:21 -04:00
tytan652 and Ryan Foster
4b187ed38c
cmake: Copy shared library soname file to rundir on Linux
...
Soname files are required since 1d8c377240
2024-06-10 16:32:11 -04:00
tytan652 and Ryan Foster
7a4cb085ba
cmake: Fix script plugin path on Linux with CMake 3
2024-06-08 17:08:25 -04:00
tytan652 and Ryan Foster
e4ae149278
linux-capture: Fix module prefix with CMake 3
2024-06-06 14:23:15 -04:00
tytan652 and Ryan Foster
116107bc86
UI: Fix Qt platform override in CMake 3
...
This override is still needed until Qt minimum version requirement is
increased to at least 6.3.0.
ui-config.h.in and CMake 2 are modified to avoid USE_XDG redefinition in
CMake 3.
2024-06-05 18:33:47 -04:00
tytan652 and Ryan Foster
1d8c377240
cmake,UI: Fix SOVERSION on Linux
2024-06-05 18:16:45 -04:00
tytan652 and Ryan Foster
3840ea0275
UI: Remove replayBufferButton and vcamButton theme IDs
...
Those IDs were used on buttons that were programatically added to the
controls dock, now those buttons are always present inside the UI
file with their own object name.
The use of theme IDs can be replaced by their object names.
2024-06-05 17:39:54 -04:00
tytan652 and Ryan Foster
511385891c
UI: Separate controls dock from the main window
2024-06-05 17:39:54 -04:00
tytan652 and Ryan Foster
eed5578e4c
UI: Remove setStreamText lambda
...
Avoid tangling controls dock stream button to OBSBasic with a lambda.
2024-06-05 17:39:54 -04:00
tytan652 and Ryan Foster
178205257e
UI: Set system tray text explicitly
...
Avoid using controls dock buttons as a source for text for system tray
elements.
2024-06-05 17:39:54 -04:00
tytan652 and Ryan Foster
d23b65a2bf
UI: Track streaming state in OBSBasic
...
Avoid using controls dock buttons for streaming state. Use signals and
OBSBasic member variables instead.
2024-06-05 17:39:54 -04:00
tytan652 and Ryan Foster
9093275336
UI: Track recording state in OBSBasic
...
Avoid using controls dock buttons for recording states. Use signals and
OBSBasic member variables instead.
2024-06-05 17:39:54 -04:00
tytan652 and Ryan Foster
cb024a0696
UI: Use connection with modeSwitch button
2024-06-05 17:39:54 -04:00