We're currently using peter-evans/create-pull-request v4.1.4 which is
based on the deprecated node16. This was fixed in v6.0.0, so let's
update to that commit.
We're currently using CyberAndrii/steam-totp c7f636bc64 which is
based on the deprecated node16. This was fixed in 45775c3219, so let's
update to that commit.
We're currently using CyberAndrii/setup-steamcmd b786e0da44 which is
based on the deprecated node16. This was fixed in 29e114af03, so let's
update to that commit.
We're currently using korelstar/xmllint-problem-matcher v1.1.0 which is
based on the deprecated node16. This was fixed in v1.2.0, so let's
update to that version's commit.
macOS and the GitHub runners have python3 preinstalled.
We only needed to specify a version because aiohttp wasn't compatible
with 3.12, but that's no longer the case.
Implement the new merge sub-action from upload-artifact as a separate
job that requires the Sparkle appcast creation job so that we still get
a single combined artifact for the Sparkle appcast. This lets us update
upload-artifact from v3 to v4.
GitHub Actions has deprecated Actions based on node16. The v4 actions
are based on node20.
See:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
strcmp(obs_get_encoder_codec(option), "opus") causes the application to
segfault while loading service if find_encoder(id) returns NULL. Add a
null pointer check to prevent that from occurring.
As the comment mentions this only occurs during an encoder stall on the
first frame. On D3D both gs_texture_t's are actually a single D3D
texture object and both planes are copied during gs_copy_texture, for
everyone else we need to copy the textures separately as they are
independent OpenGL textures.
This adds gs_enum_adapters and gs_get_adapter_count to the opengl
backend and promotes these to multiplatform graphics functions.
However we need to make an internal device change, device_enum_adapters
must pass in the current device on opengl to ensure that adapter #0 is
the display adapter. We do this to avoid changes to plugins already
checking against obs_video_info.adapter which is always 0 and expected
to be the device OBS was initialized on.
The actual implementation reports the dri render node (or /Software).
This allows plugins to query non-video features of the adapters like
VA-API/NVENC/etc or other cross device functionality. `/Software` is
chosen to avoid opening random files in the current directory if its
passed along as a file path like the regular dri render nodes.
This commit also modifies build-aux to update libdatachannel.
This commit also modifies obs-webrtc to avoid a compiler error.
Notable changes:
* deps.ffmpeg: Update libdatachannel to 0.20.1
* deps.macos: Remove Carla
* deps.macos: Add uthash to macOS deps
* deps.windows: Remove Carla
* deps.windows: Add uthash to Windows deps
For now just tag all imported images with GS_RENDER, this may not work
for some images that were produced by some hardware other than the GPU
render engines. But since we don't import VA-API decoded frames we
probably won't run into this. And we need this to render into VA-API
frames destined for encoding.
Enable all of the previously Windows only paths for OpenGL backends that
support encode_texture2
Co-authored-by: Torge Matthies <openglfreak@googlemail.com>
This new runtime version relies on Freedesktop SDK 23.08.
Disable PipeWire module since Freedesktop SDK 23.08 provides a more
recent version of PipeWire.
Intel Media SDK is patch to support being compiled with more recent
version of GCC
To avoid a compiler error, this commit also bumps the configured NVENC
version to match the updated version in the deps package.
Notable changes:
* deps.ffmpeg: Update zlib to 1.3
* deps.ffmpeg: Update SVT-AV1 to 1.8.0
* deps.ffmpeg: Update aom to 3.8.0
* deps.ffmpeg: Update libsrt to 1.5.3
* deps.ffmpeg: Update nv-codec-headers to 12.1.14.0
* deps.ffmpeg: Update AMF to 1.4.32
* deps.ffmpeg: Update FFmpeg to 6.1
* deps.macos: Update LuaJIT to 2.1 c525bcb902
* deps.macos: Update FreeType to 2.13.2
* deps.macos: Update Asio to 1.29.0
* deps.macos: Update nlohmann JSON to 3.11.3
* deps.macos: Update Sparkle to 2.5.2
* deps.macos: Update Syphon Framework to 5.0 39e31383ff
* deps.windows: Update FreeType to 2.13.2
* deps.windows: Update curl to 8.5.0
* deps.windows: Update LuaJIT to 2.1 c525bcb902
* deps.windows: Update Asio to 1.29.0
* deps.windows: Update nlohmann JSON to 3.11.3
* deps.windows: Update VPL to v2.10.1
* deps.qt: Update Qt6 to 6.6.1 for Windows
* deps.qt: Update Qt6 to 6.6.1 for macOS
If a user sets both AdaptiveMiniGOP=true and EnablePreAnalysis=true
in the AMF/FFmpeg options field, AMF will adaptively insert
B-pictures, and no longer uses the fixed B pattern.
For a fixed B-frames pattern, it is expected that increasing B-frames
can cause a quality drop for certain content such as with high motion.
AdaptiveMiniGOP is recommended when using B-frames to improve the
quality in such cases. AdaptiveMiniGOP is dependent on PreAnalysis
which means that trying to enable it without having PreAnalysis turned
ON will have no negative effect (AdaptiveMiniGOP won't be enabled).
QuickSync requires oneVPL, which is unable to find its libraries in the
Flatpak, resulting in MFX_ERR_NOT_FOUND and the encoders not working.
The libraries are present in the install prefix (/app/lib), which is
currently not automatically added to the search paths, see the issue
https://github.com/intel/libvpl/issues/119 for details. For now,
work around the issue by setting ONEVPL_SEARCH_PATH explicitly.