Commit Graph

11651 Commits (master)

Author SHA1 Message Date
jpark37 55f35d1d89 libobs: Consolidate H.264 priority scheme
The spec for nal_ref_idc doesn't indicate that it should be used for
priority like x264 seems to be using it for. NVENC seems to pass
different values, so let's not rely on it.

The new scheme might be naive, but we can iterate on it, and apply
evenly to all H.264 encoders.
2022-07-31 17:38:25 -07:00
Translation Updater 81734be37c Update translations from Crowdin 2022-07-31 23:40:53 +00:00
Chip Bradford df446c3f6e UI: Add Virtual Camera source selector dialog 2022-07-31 15:39:18 -07:00
Chip Bradford 0a87797a21 libobs: Format changes for multiple video mixes 2022-07-31 15:35:37 -07:00
Chip Bradford 7e39ee291c libobs: Add support for multiple video mixes
Split render_texture and derived fields in obs_core_video into new
obs_core_video_mix struct. Add new APIs to add additional obs_view to the render loop, each with a separate render_texture / obs_core_video_mix.
2022-07-31 15:35:36 -07:00
Ryan Foster b4e056f39d CI: Use Qt6 by default when available 2022-07-31 13:45:57 -04:00
PatTheMav f1cf3ff141 UI: Fix Qt call on UI thread from graphics thread
Calling `devicePixelRatioF` from any thread but the main UI thread
triggers thread-safety warnings at runtime on macOS, because Qt uses
NSView calls to determine the value.

NSView calls are only allowed to be made from the main thread on macOS,
so instead the value is stored as a property of the OBSQTDisplay at
initialization, to be retrieved from the preview object later.

Static functions that do not have access to the preview object have the
pixel ratio passed in their call signature.
2022-07-31 19:36:34 +02:00
gxalpha 37526e9ac9 UI: Add macOS permissions window
Co-Authored-By: Matt Gajownik <git@wizardcm.com>
2022-07-31 18:14:41 +02:00
gxalpha b7a20cd5e4 UI: Add function to open privacy preferences on macOS 2022-07-31 18:14:41 +02:00
PatTheMav a70dd4d925 cmake: Remove prefix suppression for scripting plugins.
SWIG uses the prefix target property to prefix generated Python
libraries with an underscore (so that obspython.py is loaded first,
which acts as a shim for the actual _obspython.pyd library on Windows).

Usually the prefix is set to an empty string on Windows (to avoid the
automatic "lib" prefix used by CMake), but this also removed the
necessary underscore prefix required for the Python library.
2022-07-31 17:48:35 +02:00
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
Matt Gajownik 43ef6699e3 UI: Fix toolbutton colour in Yami 2022-07-31 20:45:52 +10:00
gxalpha e75b509bba UI: Include OpenSans font with OBS
Also reinstates the font-family statement removed in 2941c48
2022-07-31 20:23:19 +10:00
cg2121 e072976ccf UI: Add audio mixer toolbar
This adds a toolbar to the audio mixer dock, so it is
easier to access advanced audio dialog and unhide/vertical
actions.
2022-07-31 20:22:02 +10:00
PatTheMav 018f52bfab cmake: Switch file system used by CPack for disk image to APFS 2022-07-31 12:21:35 +02:00
PatTheMav a001f97e3c mac-videotoolbox: Remove guard for hardware acceleration check 2022-07-31 12:21:35 +02:00
PatTheMav 297ec9e957 CI: Increase macOS deployment target to 10.15 for x86_64 2022-07-31 12:21:35 +02:00
PatTheMav 11325e6a35 UI: Remove permission code paths for Mac OS X before 10.15 2022-07-31 12:21:35 +02:00
PatTheMav 4edb034790 libobs-opengl: Fix error message for invalid IOSurface buffers
Syphon relies on global IOSurfaces which are not officially supported
by macOS anymore. While the core functionality is still available,
`IOSurfaceGetPixelFormat` will not return a valid pixel format.
2022-07-31 12:21:35 +02:00
PatTheMav f9cf458c11 mac-syphon: Remove all syphon-inject code
The injection feature is defunct in Mac OS X 10.15.
2022-07-31 12:21:35 +02:00
PatTheMav 43bdc627ea mac-capture: Remove display name code path for Mac OS X before 10.15 2022-07-31 12:21:35 +02:00
PatTheMav 290509f41d mac-capture: Remove guard for Mac OS X 10.10 2022-07-31 12:21:35 +02:00
PatTheMav 5b7879d9aa mac-capture: Remove codepath for discovering devices pre Mac OS X 10.15 2022-07-31 12:21:35 +02:00
PatTheMav 7acf785322 mac-capture: Remove presets for Mac OS X pre 10.15 2022-07-31 12:21:35 +02:00
Warchamp7 8a3abf1de7 UI: Add toolButton styling property for buttons
Allows making QPushButtons use the QToolButton styling.
Current usage is for transitions dock buttons.

May be unneeded after #6756 but doesn't hurt to have
2022-07-31 20:20:15 +10:00
jpark37 a4083c56b5 obs-ffmpeg: Use top-left chroma location for HDR
As specified in the HEVC spec. VLC now reports top-left instead of left.
2022-07-31 00:10:50 -07:00
jpark37 3a43fc4a07 libobs: Use left chroma location for SDR
Top-left chroma should be for Rec. 2020/2100.
2022-07-31 00:10:50 -07:00
Matt Gajownik 68499222ad UI: Fix panning when preview scaling is enabled 2022-07-31 14:19:27 +10:00
jpark37 7ec6f0a66b obs-filters: Add HDR support to Scroll 2022-07-30 20:34:56 -07:00
jpark37 6a871d3f66 obs-transitions: Add HDR support to stinger
Regular SDR/HDR stingers, and SDR track matte should work. HDR track
matte might work, but would take a carefully crafted video that takes
the SDR white level into account, and this hasn't been tested.
2022-07-30 20:34:34 -07:00
Kurt Kartaltepe 8cb57aac1f obs-ffmpeg: Mark rist/srt required
When compiling with the new flag these are required, if we dont fail
here we instead get a more cryptic failure that the targets are
unassigned later in the file. This should make it easier to find the
flag to turn off or packages being searched for.
2022-07-30 20:33:54 -07:00
Clayton Groeneveld 2d6a9c9cc1 UI: Show spacing helpers in preview
This shows distance between sides of preview and edges of sources.
This will allow users to more easily align sources.

Co-authored-by: Palakis <contact@slepin.fr>
2022-07-30 19:41:18 -07:00
gxalpha 728d919bde mac-capture: Make background transparent in SCK App Capture on macOS 13+ 2022-07-31 11:22:48 +10:00
Matt Gajownik 92824b5e2e enc-amf: Add 2.5 second timeout for AMF test process 2022-07-31 10:56:11 +10:00
tytan652 1e1a21b7bf obs-websocket: Update submodule
- base: Add checks for submodules in CMake
- base: Add ENABLE_WEBSOCKET CMake option
- base: Clean up find_qt macro
2022-07-30 17:34:36 -07:00
tytan652 4ce3a729fd plugins: Make CMake fail if obs-websocket is not found 2022-07-30 17:34:36 -07:00
jpark37 2455753948 win-dshow: Compute HDR colorspace
Figure out colorspace from TRC and primaries if necessary.
2022-07-30 17:25:37 -07:00
jpark37 d8551e444b media-playback: Compute HDR colorspace
Figure out colorspace from TRC and primaries if necessary. AMF in
particular doesn't seem to provide full metadata.
2022-07-30 17:25:37 -07: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
pkv a9a65a88d8 obs-filters: Reset RTX Greenscreen if parent is updated
This fixes a bug where an update of the parent source breaks the filter.
A signal handler is added to listen to updates of the parent.
This triggers a reset of the RTX FX.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-30 17:06:51 -07:00
tytan652 5490e4f44c libobs,docs: Improve failed module loading logging
- Avoid putting libs (like CEF) in the plugins load failure message.
- Consider obsolete macOS obs-browser plugin fail as a hardcoded skip.
2022-07-30 16:55:03 -07: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
Paul Hindt 7095f0dd70 aja: Only allow output formats matching OBS framerate 2022-07-30 16:39:20 -07:00
jpark37 eb7bb07a79 UI: JXR screenshots on Windows
Use JXR for HDR video on Windows. Other operating systems will tonemap
HDR to SDR, and save to PNG. Continue to take PNG screenshots for SDR.
We will probably support EXR for Mac/Linux someday.
2022-07-30 16:33:57 -07:00
jpark37 c03dfd6dbc obs-filters: Add HDR support to Crop/Pad 2022-07-30 16:22:52 -07:00
jpark37 9fc797c745 obs-filters: Align scale filter to pattern
No functionality change.
2022-07-30 16:22:52 -07:00