Commit Graph

429 Commits

Author SHA1 Message Date
PatTheMav
9889fcdfcc cmake: Group blake2 targets under same directory for IDEs
The blake2_static target has no specific FOLDER property set and thus
would appear ungrouped in Visual Studio's Solution Explorer.

With this change both the default blake2 target as well as
blake2_static appear in their own "blake2" subdirectory.
2025-04-25 20:06:41 -04:00
Tarulia
6931d80e16 deps/json11: Fix compile error on GCC 15+ 2025-04-02 14:04:02 -04:00
thirumalai-qcom
0daa31355d deps: Add ARM64 definitions in w32-pthreads
Update w32-pthreads/context.h to include definitions for _M_ARM and
_M_ARM64 in addition to existing ARM definitions.
2025-02-28 16:29:57 -05:00
Ryan Foster
e471d3109b cmake: Specify NOMINMAX all the time on Windows
This prevents the Windows headers from defining min/max macros.

Use std::min and std::max.

Modifies deps, frontend, libobs-d3d11, libobs-winrt, decklink, obs-vst,
and win-dshow.
2025-02-07 14:52:24 -05:00
Doğukan Korkmaztürk
b30b8565aa deps/glad: Add EGL_ANDROID_native_fence_sync
This extension is needed for using explicit sync in the PipeWire plugin.

Signed-off-by: Doğukan Korkmaztürk <dkorkmazturk@nvidia.com>
2025-02-05 16:20:15 -05:00
PatTheMav
6c590805e8 cmake: Update supported CMake version range to 3.28 and 3.30 2024-09-13 14:42:32 -04:00
tytan652
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
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
PatTheMav
d81fcd70e0 cmake: Update cross-platform build project management for Windows
Enables creation of x64 and x86 child projects when building on ARM64
and decouples functionality from legacy_check function
2024-08-20 16:00:21 -04:00
PatTheMav
c89cef3aa5 cmake: Fix malformed CMake package location on Windows
CMake doesn't expect CMake package files to be separated in
subdirectories on Windows and instead expects all files to be put in
a single directory `cmake` found within one of the PREFIX paths.

Also fixes circular dependency in w32-pthreads CMake package config
file.
2024-08-20 14:48:08 -04:00
PatTheMav
b8cfacaec3 Update formatting of CMake files 2024-08-14 12:07:47 -04: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
tt2468
4eef796f80 deps/media-playback: Fix init of swscale with hw decode
Checking the format of the AVCodecContext will result in using the
format of the hardware-side frames, not the software-side frames. This
uses the software frame parameters itself to initialize the swscale
context.
2024-06-16 02:47:06 +02:00
derrod
2d489fc54e deps/blake2: Add static blake2 library for Windows updater 2024-06-14 18:10:04 -04:00
tytan652
508f9c2e3c obs-scripting: Refactor Lua C paths 2024-06-14 17:34:14 -04:00
moocowsheep
c9f7a3c325 deps/media-playback: Prioritize CUDA decoder 2024-05-11 20:29:43 -07:00
tytan652
9fa23c8cca obs-scripting: Remove Python version upper limit on Linux
Also removes it for FreeBSD and OpenBSD
2024-05-03 15:31:20 -04:00
PatTheMav
e87a5c3691 obs-scripting: Update Linux slice for CMake build framework 3.0 2024-04-13 23:48:38 -04:00
PatTheMav
4d6e17c547 deps: Suppress acknowledged compile-time warnings for json11 2024-04-13 23:48:38 -04:00
tytan652
e032c2d0c9 deps,libobs: Replace uthash with prefix/system install 2024-04-07 10:01:25 +10:00
tt2468
8fd61c2049 deps/media-playback: Detect+handle video res changes with hwaccel 2024-03-19 16:58:20 -07:00
pkv
41f07913e5 deps/media-playback: Fix hardware decoding of streams
Fixes issue #10369.
Since the update to FFmpeg 6.1, streams to a Media Source are broken
if hardware decoding is enabled (both RTMP or SRT have been reported).
The video is black although the audio is decoded fine.
The manual copy of metadata introduced in commit [1] does not work any
more for some unfathomable reasons.
As a fix we call instead the av_frame_copy_props function used in FFmpeg
app in a similar context (hardware decoding) [2].
The metadata are copied without issues.
There is no need to guard the use of that function since it was
introduced 9 years ago in avutil/frame.c.

[1] 22fde5cdcd
[2] https://github.com/FFmpeg/FFmpeg/master/fftools/ffmpeg_dec.c

Signed-off-by: pkv <pkv@obsproject.com>
2024-03-18 14:13:55 -04:00
Exeldro
a0e666d8e3 deps/obs-scripting: Fix lua tick crash 2024-02-03 17:08:53 -06:00
Kurt Kartaltepe
477c3be050 deps/glad: Add EGL_EXT_device_base related extensions 2024-01-27 17:51:33 -06:00
derrod
538ea46e5a deps/obs-scripting: Replace circlebuf with deque 2024-01-16 16:45:09 +01:00
derrod
a029d2ac01 deps/media-playback: Replace circlebuf with deque 2024-01-16 16:45:09 +01:00
rvalue
c96a2a64fc libcaption: Optimize branch conditons
The optimization silences the warning about type limits on platforms
with `char` type as `unsigned char`.

The original condition is semantically identical to the optimized one
because the signed-to-unsigned cast is well-defined in C standard.
2024-01-03 18:20:38 -05:00
PatTheMav
aa137f0766 deps: Update CMake target source lists with alphabetic sorting
Also manually updates some CMake script files to make code more
readable.
2023-12-19 17:59:44 -05:00
PatTheMav
c665308fbf obs-scripting: Disable Python 3.11 support on Windows
Inlined functions in Python's header files result in unresolvable
symbols at link time when building in Debug config on Windows.

This downgrades the upper limit on Windows to 3.10 again until a proper
fix can be found.

macOS is unaffected because it can link binaries with dynamic runtime
lookup.
2023-12-09 19:37:18 +01:00
PatTheMav
6164184b4a obs-scripting: Add missing function import for PyType_IsSubtype 2023-12-09 19:37:18 +01:00
PatTheMav
cab950c23b obs-scripting: Fix Python version detection on Windows
Prior code would not only iterate over possible versioned python DLL
names, but also replace possible named subdirectories contained in the
path string.

This commit changes the same code to only change the filename and leave
the path prefix intact.
2023-12-09 19:37:18 +01:00
Stephen Seo
6e080a6806 deps/media-playback: In check for key-frame, use new FFmpeg 6.1 API
Fixes for using FFmpeg 6.1 due to deprecations. Uses `#if` macros to
allow builds for using older versions of FFmpeg.

AVFrame.key_frame was replaced with a flag in AVFrame.flags. The commit
adding the flag is [1] in FFmpeg's repository, and the deprecation is in
commit [2].

In summary of the "key_frame" change, AVFrame.key_frame is deprecated,
and AVFrame.flags indicates with a bit flag if it is a key frame (with
the enum/defined AV_FRAME_FLAG_KEY).

[1]: avutil/frame: add a keyframe flag to AVFrame
cc11191fda

[2]: avutil/frame: deprecate key_frame
3e06f6f040
2023-12-02 17:43:18 -06:00
Stephen Seo
4b5be75c7e deps/media-playback: Use new (nb_)coded_side_data FFmpeg 6.1 API
Fixes for using FFmpeg 6.1 due to deprecations. Uses `#if` macros to
allow builds for using older versions of FFmpeg.

The change in deps/media-playback/media-playback/decode.c is due to
FFmpeg moving "side_data" into AVCodecParameters which is mentioned in
commit [1] in FFmpeg's repository.

In summary of the "side_data" change, AVStream.side_data is deprecated
and replaced with AVStream.codecpar->coded_side_data, and
AVStream.nb_side_data is replaced with
AVStream.codecpar->nb_coded_side_data.

[1]: avcodec/codec_par: add side data to AVCodecParameters
21d7cc6fa9
2023-12-02 17:43:18 -06:00
PatTheMav
95cab7178e obs-scripting: Add Python 3.11 support for Windows and macOS 2023-11-11 17:45:55 -06:00
PatTheMav
24073568e5 obs-scripting: Fix Sparkle delta updates by disabling bytecode caching
Python automatically creates bytecode caches which end up inside the
application bundle of OBS Studio on macOS. These directories will lead
to a hash mismatch when Sparkle attempts to apply a delta update (to
ensure that the patch can be applied).

As the added directories will make the hash check fail, having a valid
Python framework configured in OBS Studio (even without any script
added) will thus prevent Sparkle from using delta updates.
2023-11-04 18:26:50 -05:00
Smartkin
e0bc8a8c9c obs-scripting: Search native libraries in Lua script's location 2023-10-14 19:04:00 -05:00
Neal Gompa
bc14a25b15 deps: Add license declaration files 2023-09-19 13:35:49 -04:00
PatTheMav
1c8e046256 json11: Suppress warnings about unqualified std::move calls
Vendored dependency cannot be updated.
2023-08-31 17:52:08 -04:00
Ryan Foster
41a915db9e deps: Update CMake minimum to 3.22
Since Ubuntu 22.04 is now our minimum supported Ubuntu version, and it
has CMake 3.22, let's make CMake 3.22 the minimum CMake version.
2023-08-05 16:45:46 -07:00
derrod
a0ae12981c deps: Remove libff 2023-07-30 15:58:21 -07:00
derrod
5569139c43 deps/libff: Remove unused code and header files 2023-07-29 17:08:20 -07:00
tytan652
c6ce50c9a3 deps,libobs,plugins: Remove in-tree Jansson
Jansson is provided by other means on any supported platform.
2023-07-29 16:37:14 -07:00
James Hurley
19e29500d8 deps: Add Happy Eyeballs (RFC 6555)
This commit adds a utility to connect to a TCP endpoint that may
be dual-stack IPv4/IPv6 using fast fallback. It will attempt the
prefered address family first, followed by the other 200ms later.
The first to connect will be the socket that is handed back
to the caller.
2023-07-24 16:33:31 -07:00
derrod
7731f98d87 deps/media-playback: Remove legacy FFmpeg compatibility 2023-07-12 15:57:43 -04:00
derrod
aeaf720247 deps/libff: Remove legacy FFmpeg compatibility 2023-07-12 15:57:43 -04:00