Commit graph

12865 commits

Author SHA1 Message Date
Ryan Foster 746a2ef961 CI: Update deps to 2023-03-26 release
Notable changes:
 * deps.windows: Disable IPO in SpeexDSP build
 * deps.ffmpeg: Revert mbedTLS to 3.2.1
2023-03-26 22:26:26 -04:00
tytan652 eebf1b0e87 flatpak: Update deps based on on obs-deps 2023-03-20
* x264: Updated to the same commit as obs-deps
* nv-codec-headers: Update to n12.0.16.0
* aom: Updated to 3.6.0
* svt-av1: Updated to 1.4.1
* ffmpeg: Updated to 6.0
* luajit: Updated to the same commit as obs-deps
2023-03-26 21:33:41 -04:00
tytan652 e0f0dda2cc CI: Only generate and use master branch Flatpak caches
Bump flatpak-builder action to enable:
- https://github.com/flatpak/flatpak-github-actions/pull/120
- https://github.com/flatpak/flatpak-github-actions/pull/119

Makes Flatpak CIs only restores the cache if the cache key hit a cache
from the master branch.

Prevents Flatpak CIs to saves cache on branches that are not master.
So a newer caches are saved only on the master branch.
2023-03-26 21:11:08 -04:00
derrod 678a98ace2 obs-outputs: Fix compilation without ENABLE_HEVC 2023-03-26 20:43:27 -04:00
PatTheMav dc39edb23c CI: Prevent build artifact creation for macOS without pushed tag
Pushes to master will use faster Ninja builds on macOS, which cannot
generate macOS app bundles anymore. Thus packaging will only work with
PR pushes (and the "Seeking Testers" label set) or upon pushing a
release tag to the master branch.
2023-03-26 20:22:33 -04:00
PatTheMav 82f7a47438 CI: Update build workflow for macOS 2023-03-26 18:20:38 -04:00
PatTheMav f0dee071c1 CI: Update macOS build scripts to use new CMake presets 2023-03-26 18:20:38 -04:00
PatTheMav 349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
PatTheMav bbeea0972a cmake: Add Xcode component to CMake build framework 3.0
Adds necessary macOS-specific implementation of the framework, focusing
on native Xcode builds.
2023-03-26 18:20:38 -04:00
PatTheMav ae6e9c875b cmake: Add OBS CMake build framework 3.0
OBS CMake build framework 3.0 is a minor overhaul of version 2.0. Due
to close proximity of the 2.0 rework, the amount of actual changes to
project files are minimal and mostly concern application generation.

This commit contains the bootstrap elements only and requires
OS-specific implementations to be functional.
2023-03-26 18:20:38 -04:00
tytan652 ad859a3f66 flatpak: Enable obs-libfdk
Freedesktop runtime provides it.
2023-03-26 14:43:03 -07:00
Jeremy Woertink 90e8e81e99 rtmp-services: Add Joystick.TV
Adding JoystickTV as an official service

Closes obsproject/obs-studio#8414
2023-03-26 14:40:57 -07:00
tt2468 1cd802810b rtmp-services: Add IRLToolkit Sydney ingest 2023-03-26 14:23:23 -07:00
Vainock 4ef4fb59d9 UI: Rename blending mode "Additive" to "Add" in UI 2023-03-26 14:19:30 -07:00
Jim e233931dff
Merge pull request #8522 from nquah/enhanced-rtmp
Enable AV1, HEVC via RTMP to YouTube
2023-03-26 14:07:37 -07:00
Norihiro Kamae c5d32881db UI: Ignore the leap seconds in tooltip of time format
The range was 00-61 but 61 is confusing. Let's ignore the leap seconds
and set 59 as the maximum.
2023-03-26 13:52:45 -04:00
PatTheMav 90f46a9d4d libobs: Add missing VIDEO_FORMAT_V210 handling in switch statements
Format was added to enum but not handled in all switch statement
handling the enum.
2023-03-26 13:48:01 -04:00
Yuriy Chumak d68a75c60c rtmp-services: Add AV1 and HEVC to YouTube RTMPS service 2023-03-26 16:37:31 +02:00
derrod 4b038c9a40 rtmp-services: Add AV1 to services schema 2023-03-26 16:37:31 +02:00
derrod e767cacf0a rtmp-services: Explicitly set codecs for RTMP services 2023-03-26 16:37:31 +02:00
Yuriy Chumak 27dc30b672 obs-outputs: Prevent streaming HDR AV1/HEVC over RTMP
Currently unsupported by all remotes accepting enhanced RTMP. This
commit may be removed at a later date.
2023-03-26 16:37:31 +02:00
Yuriy Chumak 7dbc829c15 libobs,UI: Add output failure code for HDR being unsupported 2023-03-26 16:37:31 +02:00
Yuriy Chumak 2d4f0ac440 obs-outputs: Add support for AV1/HEVC over RTMP
Implements AV1 and HEVC according to enhanced RTMP spec found at
https://github.com/veovera/enhanced-rtmp

Co-authored-by: derrod <dennis@obsproject.com>
2023-03-26 16:37:31 +02:00
Yuriy Chumak 31ba0973e5 libobs: Export HEVC NAL type enum 2023-03-26 14:47:22 +02:00
Norihiro Kamae 94bf325dd9 libobs: Fix VIDEO_FORMAT_V210 shader for GLSL 2023-03-26 05:13:00 -07:00
jpark37 ccb2c06540 decklink: Add HDR capture support
Also add true 10-bit support.
2023-03-26 01:52:44 -07:00
jpark37 97843dd7d7 libobs: Add VIDEO_FORMAT_V210
Support 10-bit packed format that DeckLink uses.
2023-03-26 01:52:44 -07:00
pkv 5d287734a8 UI: Switch RecFormat to RecFormat2
Commit f1223ca566
(UI: Set fragmented MP4/MOV as default for beta/rc)
changed RecFormat to RecFormat2.
This conflicts with the use of RecFormat introduced in
d18b38e784
(UI: Enable multiple audio tracks in Simple Output recording).
This fixes the issue.
An unused var is also removed.

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 23:45:47 -07:00
Jim 35f037da47 deps/media-playback: Fix preloaded videos stopping prematurely
The incorrect variable was used in a comparison, causing playback to
stop prematurely depending on whether the audio data or video data ended
first.

Closes obs-project/obs-studio#8422
2023-03-25 22:51:55 -07:00
Jim 39afa665a1 UI: Always print debug log to stdout if Debug build
Makes it easier to debug certain issues when building on non-Windows
machines.
2023-03-25 22:51:25 -07:00
Ryan Foster 9b270c38e8 UI: Remove unused variable
This variable was added in d18b38e784,
but it is not used. Let's remove it.
2023-03-26 00:21:04 -04:00
Richard Stanway 0ed53ada03 obs-ffmpeg: Use more actionable error messages for hardware encoders
Telling a user to "Check your driver is up to date" is too open to
interpretation, many users will use Windows Update or Device Manager to
check for updates which doesn't help. Instead, let's explicitly tell
them what is most likely to fix the problem.
2023-03-25 22:48:19 -04:00
tytan652 f4e8a5b98d CI: Enable PipeWire on Ubuntu 22.04 2023-03-25 22:02:29 -04:00
tytan652 4d5cf98de0 linux-pipewire: Add missing struct typedef for older PipeWire
This allows building against PipeWire versions lower than 0.3.62.

The missing structure is copied verbatim from:
https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1423
2023-03-25 22:02:29 -04:00
derrod b86e878a75 UI: Switch format tooltip based on user selection 2023-03-25 18:57:01 -07:00
cg2121 d291830d23 libobs: Copy private scene item data when duplicating scenes
For example, this makes sure scene item colors are copied when
duplicating a scene. This also removed the now redundant private data
variable.
2023-03-25 18:30:31 -07:00
shiina424 fe716ef39e UI: Fix translation key 2023-03-25 18:29:07 -07:00
shiina424 af5d4fb8bb vlc-video: Fix translation key 2023-03-25 18:29:07 -07:00
shiina424 100258b0f6 obs-filters: Fix translation key 2023-03-25 18:29:07 -07:00
pkv d57d09e229 UI: Move tracks in Advanced Standard Recording
Per request of our UI design chief, the tracks from Standard Recording
(Advanced Output) are moved below the audio encoder field.
Additionally, for consistency with Simple output, the video encoder
field is moved above the audio encoder (suggestion from Rodney).

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 20:54:07 -04:00
pkv d18b38e784 UI: Enable multiple audio tracks in Simple Output recording
This adds support for multiple audio tracks in Simple Output for
recordings.
This is enabled for all quality presets (including "Lossless") except
"Same as Stream".
This is also enabled for the Replay Buffer.
An exception is made for flv recording format since it only allows a
single audio track.
The recorded track (and streaming track) is then Track 1 as before.

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 20:54:07 -04:00
cg2121 1b68944107 UI: Fix transform dialog not being closable
If the user clicked away from the source, while the transform dialog is open,
the whole dialog would be disabled. The user then couldn't click close or
press escape to close the dialog. The only way for them to close it was to
click on another source to re-enable it.
2023-03-26 10:55:16 +11:00
Jim 7a30d535aa
Merge pull request #8289 from derrod/more-audio-codecs
libobs,obs-ffmpeg: Add option for recording lossless audio
2023-03-25 16:52:49 -07:00
cg2121 1ac609f1ff UI, libobs: Fix not handled in switch warnings
These warnings were being spit out by GCC on Linux.
2023-03-26 10:47:01 +11:00
derrod f1223ca566 UI: Set fragmented MP4/MOV as default for beta/rc
Also includes a migration to a new key to ensure backwards-compatibility
of profile config.
2023-03-25 16:28:56 -07:00
Ryan Foster 3fe241e95f obs-scripting: Enable Python 3.11 2023-03-26 10:27:52 +11:00
Richard Stanway 5182368009 UI: Properly handle SIGINT on non-Windows platforms
Running Qt code in a signal handler is not safe. Per the Qt docs, we
instead create a pair of sockets and a QSocketNotifier so that the
signal handler can notify the main thread which can process the exit
request without risk.

Reference: https://doc.qt.io/archives/qt-6.3/unix-signals.html
Reference: https://man7.org/linux/man-pages/man7/signal-safety.7.html
2023-03-25 16:17:02 -07:00
derrod b79363400c UI: Disable incompatible codec/container options
In advanced mode codecs that are incompatible are disabled.
In simple mode codecs are disabled if recording encoders are used,
but containers are disabled when stream encoders are used.
2023-03-25 16:12:36 -07:00
derrod b686c971ad UI: Remove ProRes Warning 2023-03-25 16:12:36 -07:00
derrod 4f7a73d149 deps/libff: Add ff_format_codec_compatible 2023-03-25 16:12:36 -07:00