Commit graph

283 commits

Author SHA1 Message Date
tytan652 87682e8276 flatpak: Change obs-deps tag to 2022-07-29
2022-07-28 was removed.
2022-07-31 10:15:02 -03:00
tytan652 056bd1aee0 flatpak: Avoid cleaning PipeWire and FFmpeg headers
Plugins could happen to build against them.
2022-07-31 08:37:45 -03:00
tytan652 a2a3cb2288 flatpak: Update deps based on obs-deps 2022-07-28
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.0
* mbedtls: Updated to 3.2.1
* librist: Updated to the same commit as obs-deps
* aom: Updated to 3.4.0
* svt-av1: Updated to 1.1.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-07-31 08:37:45 -03:00
tytan652 2d9c1624c1 flatpak: Update KDE Runtime to version 6.3 2022-07-31 08:37:45 -03:00
Ryan Foster 59e91c7c58 CI: Fix Linux package filename version
In .github/workflows/main.yml, for the linux_build job, the variable
BUILD_FOR_DISTRIBUTION is set to the string "true" or "false" on CI.
Later, in CI/linux/03_package_obs.sh, we perform a boolean check on
this variable. However, "false" will evaluate as true, because it is a
non-null string. This was causing CI Linux packages to always build as
if BUILD_FOR_DISTRIBUTION was enabled, which caused the git commit hash
to be omitted from package filenames.

Since we know the expected values, let's just test directly if the
variable equals "true" to get the expected behavior.
2022-07-31 10:24:36 +10:00
CarrotCodes ba1b5fcaea CI: Fix Sparkle cache location for local macOS CI build 2022-07-31 09:48:57 +10:00
Matt Gajownik 577b11ede4 CI: Bump CEF from 4638 (95) to 5060 (103) 2022-07-31 09:46:44 +10:00
Norihiro Kamae 8af6b79044 CI: Use xcrun notarytool instead of xcnotary
xcnotary was discontinued since Apple now provides `xcrun notarytool`.
This commit used `xcrun notarytool` to notarize the package.
2022-07-30 19:52:36 +02:00
PatTheMav 48091adc04 CI: Add Invoke-External functions for Powershell
Forward-port from obs-plugintemplate to restore cmake output during
the configuration step.
2022-07-30 18:04:15 +02:00
pkv 21621e5f5e
CI: Disable new mpegts output for linux
Support of the new mpegts output would require manual compilation of
librist & libsrt libs.
CI on ubuntu hasn't been updated so disable the new mpegts output for
now.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-30 17:03:20 +02:00
tt2468 a196fc7824 plugins: Add obs-websocket submodule
Adds obs-websocket as a submodule, to be included in future releases of
OBS Studio by default.
2022-07-28 12:36:17 -07:00
Ryan Foster 81bd1d42f0 CI: Use VS2022 and clang-format 13
Switch to Visual Studio 2022 and clang-format 13.

The Ubuntu 22.04 image currently has clang-format 12.0.1, 13.0.1, and
14.0.0. VS2022 17.2 ships clang-format 13.0.1, so let's use that for now
until VS2022 17.3 is available with clang-format 14.

This commit also makes the necessary changes to allow the clang-format
check to pass.

This commit also updates the obs-browser submodules with the necessary
changes.
2022-07-27 11:09:59 -04:00
Ryan Foster 8514c6c1e2 CI: Fix clang-format if path has spaces
If the path to clang-format has spaces, as might occur when testing
locally with a version not covered in this script, it will fail. Enclose
the call to clang-format in quotes to prevent this failure.
2022-07-26 22:36:13 -04:00
Matt Gajownik a7c3d94e4c obs-vst: Remove submodule in favour of direct merge 2/2
Please visit the submodule repo for blame history:
https://github.com/obsproject/obs-vst

This also replaces the obs-vst .clang-format with obs-studio's.

This commit depends on the previous commit, which removes the submodule
separately as Git complains otherwise.

Co-authored-by: Alex Anderson <anderson.john.alexander@gmail.com>
Co-authored-by: Anton <camotank12345@gmail.com>
Co-authored-by: Blue Cat Audio <support@bluecataudio.com>
Co-authored-by: Cephas Reis <c3r1c3@nevermindonline.com>
Co-authored-by: Colin Edwards <colin@recursivepenguin.com>
Co-authored-by: Florian Zwoch <fzwoch@gmail.com>
Co-authored-by: Fogmoon <i@fogmoon.com>
Co-authored-by: Gol-D-Ace <Gol-D-Ace@users.noreply.github.com>
Co-authored-by: Igor Bochkariov <ujifgc@gmail.com>
Co-authored-by: Jesse Chappell <jesse@sonosaurus.com>
Co-authored-by: Keen <523059842@qq.com>
Co-authored-by: Kurt Kartaltepe <kkartaltepe@gmail.com>
Co-authored-by: Matt Gajownik <matt@obsproject.com>
Co-authored-by: Matt Gajownik <matt@wizardcm.com>
Co-authored-by: Richard Stanway <notr1ch@users.noreply.github.com>
Co-authored-by: Ryan Foster <RytoEX@gmail.com>
Co-authored-by: follower <github@rancidbacon.com>
Co-authored-by: gxalpha <beckmann.sebastian@outlook.de>
Co-authored-by: jp9000 <obs.jim@gmail.com>
Co-authored-by: jpark37 <jpark37@users.noreply.github.com>
Co-authored-by: mntone <sd8@live.jp>
Co-authored-by: tytan652 <tytan652@tytanium.xyz>
Co-authored-by: wangshaohui <97082645@qq.com>
Co-authored-by: wangshaohui <wang.shaohui@navercorp.com>
2022-07-26 22:12:23 -04:00
Ryan Foster beaae2b9ce CI: Update deps to obs-deps 2022-07-08 release
Notable changes:
 * Windows: Add Qt 5 and 6 builds
 * Windows: Remove nasm native build
 * Windows: Update srt from 1.4.2 to 1.4.4
 * Windows: Update SWIG from 3.0.12 to 4.1.0-git
 * macOS: Update libvpx from 1.10.0 to 1.11.0
 * macOS: Update srt from 1.4.1 to 1.4.4
 * macOS: Update SWIG from 3.0.12 to 4.1.0-git
 * macOS: Update x264 from r3059 to r3060
2022-07-14 11:22:36 -04:00
PatTheMav c887459f3c CI: Switch to universal Qt builds for CI
Due to changes on obs-deps, per-arch Qt builds do not contain universal
binaries anymore. To allow CI to cross-compile on x86_64 runners,
the universal release is used, which will run on both architectures.
2022-07-07 16:20:30 -04:00
Shaolin 5e696cdaa8 CI: Fix FreeBSD definition of streaming service
This will bring build script on par with linux and macs
2022-06-06 03:12:46 -04:00
tytan652 3c390d8b5b flatpak: Update deps based on obs-deps 2022-05-23
* nv-codec-headers: Update to n11.1.5.1
* NTV2: Update to v16.2-bugfix5
* LuaJIT: Use same commit as obs-deps
2022-06-02 09:36:54 -03:00
Romain Vigier 43867ce93c flatpak: Install CMake config files
CMake config files are required for building OBS plugins with the
Flatpak as a runtime.

Add a post-install command that installs the `obs_libraries`
component, which provides the config files.
2022-05-30 12:16:35 -03:00
derrod a07cf955b2 CI: Update service-removal PR description 2022-05-23 05:50:58 -04:00
derrod abf383f264 CI: Ping authors of failed services in removal PR 2022-05-22 01:00:55 -04:00
derrod ccff8040fa CI: Add services check job 2022-05-20 08:55:56 -04:00
Matt Gajownik de11632a9c CI: Validate JSON Schema of Services files 2022-05-20 20:25:19 +10:00
Kurt Kartaltepe 1604400e48 linux-capture: Rewrite xcomposite
Generally moves all the plugin code into xcomposite-input.cpp and
removes all C++ dependencies.

Migrate as much as possible to xcb from Xlib to enable us to handle
errors and attribute them to the correct callers. This caused many other
knock on issues such as wrongly attributed errors and cleanup code
working incorrectly.

That allows us to use the xcursor-xcb implementation and delete the pure
Xlib implementation. We also add the missing functionality from the Xlib
implementation to the xcb implementation.

Capture glXCreatePixmap errors which occur most commonly on
nvidia+gnome due to nvidia's driver being unable to allocate more than 1
pixmap per window and gnome being the only compositor to read window
data via glx pixmaps.

Fix cleanup after failed glXCreatePixmap that might have leaked pixmaps
and prevented later captures on nvidia drivers for the same reason.
2022-05-14 17:01:08 -03:00
Ryan Foster 4b078b9296 CI: Respect user-specified build directory
The Windows build script would respect the user-specified build
directory for the configure step, but not for the build step. Fix that
by applying the same logic in Configure-OBS to Build-OBS.
2022-04-23 20:04:20 -04:00
tytan652 f4e696b39c flatpak: Cleanup PipeWire module 2022-04-22 20:32:45 -03:00
derrod e860b26589 CI: Add Steam build uploader 2022-04-18 14:08:33 -04:00
gxalpha 6f3a29a3f8 CI: Fix clang-format to include Objective-C 2022-04-18 10:43:44 +10:00
cg2121 6bee92d054 CI: Use 9-character short hashes in artifact names
Hardcode short hash length to 9 characters in CI and packaging scripts.
It is not guaranteed that short hashes are the same length across
different platforms or different versions of git. This caused problems
with upload/download action names, as the hashes sometimes didn't match.

Fix the download artifact name in the Windows installer job and the
macOS notarization job to prevent them from failing due to a name
mismatch.
2022-04-12 14:21:13 -04:00
PatTheMav ff916e5f2c CI: Fix Windows build scripts relying on localized architecture string
Current build scripts rely on comparing a architecture string provided
by the OS which will be localised in certain languages.

This change uses a boolean 64-bit flag to use script-defined identifiers
to avoid this issue.
2022-03-28 15:38:03 -04:00
Matt Gajownik 70924da18d CI: Don't ignore deps directory when formatting
Also add a .clang-format ignore file to the libff dependency.
2022-03-25 19:41:03 +11:00
tytan652 ebd6520f25 flatpak: Reenable AJA and JACK plugins 2022-03-23 10:36:16 -03:00
PatTheMav 184f6f38fb
CI: Fix CMake definition of streaming service options
On master branch, client information for Twitch, YouTube and Restream
integration are set as CMake cache variables. The hashes can contain
otherwise "illegal" characters such as backticks which need to be
enclosed in a string, but also cannot be subject to variable
substition.

Using single quotes should fix this.
2022-03-17 23:21:02 +01:00
PatTheMav 8fba906be4
CI: Add necessary build system changes for universal and M1 builds 2022-03-16 23:23:40 +01:00
PatTheMav c993b6059a
CI: Update build scripts and Github actions workflow
Also updates main CMakeLists.txt and CMakeLists.txt for unit tests,
also adds additional build directories to .gitignore file
2022-03-16 23:13:26 +01:00
PatTheMav 7a5bffc0a6 CI: Ensure SOVERSION symlinks exist in created App Bundle
Bundles libraries are available via their specific versioned filename
as well as SOVERSION and versionless symlinks. Dylibbundler does _not_
include these symlinks when copying linked libraries into the bundle.

This change ensures that all libraries and their SOVERSION symlinks
exist in the created App Bundle.
2022-02-19 15:40:00 -08:00
tytan652 447b8786ef flatpak: Update librist library
The librist commit is what is used by obs-deps since
this commit https://github.com/obsproject/obs-deps/commit/06fdd5f.
2022-01-27 12:02:53 -03:00
tytan652 54ca895537 flatpak: Update libaom and SVT-AV1
Update the libaom and SVT-AV1 versions and also apply several
cherry-picked commits to FFmpeg for SVT-AV1.

The libaom commit is what will be used by obs-deps once
https://github.com/obsproject/obs-deps/pull/90 is merged.
2022-01-26 13:42:29 -03:00
Luke Yelavich 9ce385d926 flatpak: Enable communication with org.a11y.Bus
This allows Linux accessibility tools such as the Orca screen reader to
be used with OBS.
2022-01-26 12:27:05 -03:00
Matt Gajownik e9cbe52d96 CI: Bump CEF caches to fix cookie crash bug
Manually backported a CEF 97 bug fix to CEF 95 and rebuilt for all
platforms. More info:
https://bitbucket.org/chromiumembedded/cef/issues/3193/#comment-61679139
2022-01-22 21:20:07 +11:00
Matt Gajownik a1e0d2f538 CI: Use GitHub mirror for PipeWire repository 2022-01-08 12:12:36 +11:00
tytan652 183a0a4d0e flatpak: Use same commit hash for LuaJIT as macOS 2022-01-05 20:02:19 +11:00
tytan652 02409c46fa flatpak: Add SVT-AV1 support 2022-01-02 16:21:52 -03:00
tytan652 6fdfc88467 flatpak: Add libaom support
It also add FFmpeg libaom patches from obs-deps.
2022-01-02 16:21:52 -03:00
tytan652 9167a7177d flatpak: Add RIST support to FFmpeg
Mbed TLS module is moved before librist to allow the latter to be built
with Mbed TLS.

It also add FFmpeg librist patches from obs-deps.
2022-01-02 16:21:52 -03:00
tytan652 f74c37043e flatpak: Update FFmpeg to 4.4.1
It also apply obs-deps FFmpeg patches.
And cherry-pick the following commit to fix issues with VAAPI:

avcodec/vaapi_encode: Fix segfault upon closing uninitialized encoder
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d1b47f3

nv-codec-headers are also updated.

Note: The actual used commit hash is two commits after n4.4.1 tag.
2022-01-02 16:21:52 -03:00
tytan652 b04626f72d flatpak: Deduplicate CEF from the bundle
CEF is installed in /app/cef. After OBS is built, it no longer needs
/app/cef because everything that OBS needs is copied elsewhere.

So removing /app/cef at the cleanup stage will not cause issue
and will also reduce bundle size.
2021-12-22 15:10:15 -03:00
tytan652 6ad54f5252 flatpak: Add AJA NTV2 library
This enable AJA plugins on flatpak builds
2021-12-22 15:10:15 -03:00
columbarius 01ac816a33 CI: Add PipeWire 0.3.40 to Flatpak
We require PipeWire 0.3.40 or later in preparation for proper
DMA-BUF handling, which includes negotiation of modifier lists and
dropping of single modifiers.

This commit should be reverted as soon as the Freedesktop Flatpak SDK
contains this or a newer PipeWire version.
2021-12-22 14:27:53 -03:00
Matt Gajownik 5646981ce5 CI: Update CEF hash for Flatpak to Release 4638
Tested on Ubuntu 18.04 CI and Ubuntu 20.04 desktop, built with sysroot
and is_official_build. Ensures this build of CEF will run on a variety
of system configurations.
2021-12-22 09:44:00 +11:00