3585 Commits

Author SHA1 Message Date
PatTheMav
790c5b66f6 mac-capture: Fix availability on macOS 12.5
Whereas the `availability` checks will correctly detect macOS 12.5,
the `__MAC_OS_X_VERSION_MAX_ALLOWED` macro is dependent on the platform
SDK. The most current platform SDK is 12.3, hence why this version
needs to be checked for.
2022-07-26 21:29:48 +02:00
jp9000
8a698e863d libobs: Add func to get supported service codecs
Allows a service to return a list of codecs that are currently supported
2022-07-26 09:23:35 -07:00
jp9000
b23fd86822 obs-ffmpeg: Add HEVC to supported HLS codecs 2022-07-26 09:23:35 -07:00
tytan652
02537e9c4a obs-vst,obs-browser: Update submodules
- Update find_qt macro usage in CMake
- Remove QT_VERSION and find_qt macro definition in CMake
2022-07-26 17:34:26 +02:00
jp9000
db789cfa44 virtualcam-module: Return S_FALSE if locks non-zero
The code mistakenly was returning S_OK if non-zero, which would have
been the opposite of what was intended.
2022-07-26 07:40:11 -07:00
gxalpha
17a4d9166a mac-capture: Improve SCK locale strings 2022-07-26 15:30:47 +02:00
jpark37
731c6f991b obs-vst: Update submodule 2022-07-25 20:15:20 -07:00
jp9000
0f08432f53 virtualcam-module: Don't send frames if stopped
Fixes a bug where frames would continue to send even while stopped
2022-07-25 18:03:53 -07:00
jp9000
382e37440e virtualcam-module: Use OBS atomic funcs
These are a bit more portable if we ever, say, port to windows ARM
2022-07-25 18:03:53 -07:00
jp9000
5efb3ea42d virtualcam-module: Only allow DLL unload when filter freed
Fixes a bug where the DLL could unload while the filter is currently
being destroyed, which would cause a crash in the host process
2022-07-25 18:03:53 -07:00
jpark37
e1b84f6bd6 obs-filters: Add HDR bypass for various filters
Not sure how to implement controls for HDR, so skip unless SDR for now.
2022-07-25 13:55:22 -07:00
jpark37
8b9fb03d06 obs-filters: Add HDR bypass for color correction
Not sure how to implement controls for HDR, so skip unless SDR for now.
2022-07-25 13:49:59 -07:00
jp9000
f6f6690ccf obs-ffmpeg: Fix AMD falling back to wrong preset
If the API to query the maximum throughput isn't available, it was
intended to fall back to balanced. This code caused it to vall back to
speed instead because if the API isn't available, max_throughput will be
0. This fixes it to make it only fall back to balanced instead.
2022-07-24 11:18:18 -07:00
PatTheMav
7f18bb6a26 mac-syphon: Disable inject functionality on macOS 10.15+
Also disables errors in log resulting from empty strings being passed
to `obs_data_create_from_json`.
2022-07-24 19:51:41 +02:00
PatTheMav
d5bed42f2d mac-syphon: Fix broken license display button on macOS 11+ 2022-07-24 19:51:41 +02:00
pkv
b555dcb8e2 obs-filter: Add RTX Background Removal filter
This adds support for RTX video Effects SDK.
The Background Removal filter relies on NVIDIA RTX AI Greenscreen FX.
A front speaker is separated from a background by applying
an alpha mask computed by AI.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-24 11:03:23 -04:00
pkv
4ac96e1352
obs-filter: Add NVIDIA Room Echo Removal to noise suppression filter
This adds the NVIDIA Room Echo Removal (dereverb) & a combined
Room Echo Removal + Noise Removal.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-24 16:18:47 +02:00
pkv
048090abdb
obs-filter: Fix loading of NVIDIA Audio Effects SDK
The NVIDIA Audio Effects SDK currently interferes with the Video
Effects SDK by not releasing a CUDA context.
Till this is fixed upstream, we do it manually. This also requires
 an SDK update to 1.1.0.5 for NVIDIA Audio Effects SDK.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-24 16:18:47 +02:00
pkv
cc2030ef06
obs-filter: Update NVIDIA Audio SDK
This updates the support of NVIDIA Audio Effects SDK to 1.1.0.5
Additionally, we add support for some CUDA functions required for
fixing a bug.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-24 16:18:38 +02:00
gxalpha
b72f15dcef mac-capture: Don't show apps with empty name in SCK
SCK's application list has one entry with empty name and bundle ID which
belongs to WindowServer. This is not worth exposing since an empty entry
would confuse users and nothing would get captured if selected.
2022-07-24 13:59:09 +02:00
gxalpha
22baff138b mac-capture: Add deprecated flag to traditional captures if SCK exists
Marking a source as deprecated will make it harder for users to find
when creating a new source. We don't currently plan on removing
traditional display and window capture, however ScreenCaptureKit will be
the preferred capture method going forward.
2022-07-24 13:59:09 +02:00
gxalpha
33a48a6e9c mac-capture: Add label about missing audio on macOS 12 to SCK 2022-07-24 13:59:09 +02:00
PatTheMav
94cf50a8ce mac-capture: Add more verbose log warning for missing permissions 2022-07-24 13:59:09 +02:00
PatTheMav
1d11c2d933 mac-capture: Fix compiler warnings for unused variables and data loss 2022-07-24 13:59:09 +02:00
PatTheMav
0df6c74f7d mac-capture: Make properties window reactive to selected capture type 2022-07-24 13:59:09 +02:00
PatTheMav
ca1a37586f mac-capture: Increase required macOS version for ScreenCaptureKit 2022-07-24 13:59:09 +02:00
Developer-Ecosystem-Engineering
81b631a855 Add support in "macOS ScreenCapture" for capturing audio through ScreenCaptureKit in macOS 13. By default, OBS will capture the audio for the frame content its capturing and exclude OBS own audio. For additional information
on the capabilities of audio capture refer to the documentation https://developer.apple.com/documentation/screencapturekit/ or watch the session "Meet ScreenCaptureKit".

Currently audio capture typically happens via virtual devices set up with 3rd party products. This requires additional installation and configuration by users.
Including the audio with the existing CMBuffers will make it easier to manage audio sync with video frames. Additionally, you can capture distinct audio tracks from multiple apps at once,
like a call with friends +  screen content.

macOS 13 on a 2019 16" MacBook Pro
macOS 13 on a 2022 M1 Pro Macbook Pro

Tested with multiple games + Discord, FaceTime, Apple Music and Safari tabs playing audio content.

* Bug fix (non-breaking change which fixes an issue)
* Performance enhancement (non-breaking change which improves efficiency)

* Additional control over what audio content to capture
* Logic to manage audio & frame sync
2022-07-24 13:59:09 +02:00
Developer-Ecosystem-Engineering
9ed5062e59 mac-capture: Add support for improved window capture in macOS 12.3
Add a new capture plugin called General Capture that allows for capture
of an entire desktop, a single window, or all windows of an application
2022-07-24 13:59:09 +02:00
jpark37
769a29bd1a win-wasapi: Add support for capturing a process
Use new process output API, and retrofit existing WASAPI abstractions.

Marked as "(BETA)" until we figure out the crackling at 60 minutes.
2022-07-23 17:41:34 -07:00
jpark37
69ff026647 libobs, win-capture: Share window helper code
Add "ms_" prefix as makeshift namespace.
2022-07-23 17:41:34 -07:00
tt2468
70f33f7794 obs-outputs: Improve librtmp timeouts on Linux
Replaces the usage of SO_SNDTIMEO with TCP_USER_TIMEOUT on Linux.
- Noted as more effective than SO_SNDTIMEO by multiple sources.
- Drops TCP connection on timeout instead of returning send() errors,
meaning more predictable reconnect timing and reconnect.
- Timeout period actually reflected in practice. SO_SNDTIMEO takes
double the timeout time than actually requested to time out on
unix, whereas WinSock actually waits the specified time.
2022-07-23 17:24:11 -07:00
Ryan Foster
614ff22e8d obs-outputs: Fix TLS_client init for mbedTLS 3.1.0+
When trying to update to mbedTLS 3.2.1, I ran into failures with RTMPS
output. After consulting an mbedTLS implementation example, I determined
that we were not setting up the SSL/TLS context config in the correct
order, causing the connection to fail. Performing the setup in the
recommended order fixes that.
2022-07-23 16:40:59 -07:00
Kurt Kartaltepe
57c9844f15 v4l2,scripting: Add more thread names
This sets some thread names for the scripting backend's defer thread and
the v4l2 udev thread.
2022-07-24 09:21:58 +10:00
tytan652
17ba8359e4 deps,libobs,plugins: Fix discarded-qualifiers warnings with FFmpeg 5 2022-07-22 08:50:36 -04:00
Vainock
eb06594381 Use property suffixes for units everywhere 2022-07-22 08:24:51 -04:00
Matt Gajownik
30e6613fed obs-browser: Update version to 2.18.2
cdb170c - Avoid redefining UNUSED_PARAMETER
e0bd234 - Revert "Fix macro-redefine warning with Qt loop enabled"
7e90b4a - Fix encoding of base64.cpp
e786624 - Fix helper-info filename for case sensitive partition
002fc52 - Fix macro-redefine warning with Qt loop enabled
2022-07-22 10:01:51 +10:00
Richard Stanway
88226db6b3
obs-ffmpeg: Fix AMF AVC / HEVC check logic 2022-07-22 00:45:34 +02:00
OvchinnikovDmitrii
4e140d2ffe obs-ffmpeg: Add texture-based hardware AMD encoder
Adds support for texture-based AMD encoding, with both H264, HEVC, and
HDR support. Falls back to FFmpeg when texture-based encoding cannot be
used for whatever reason.

(Jim note: This is based upon obsproject/obs-studio#4538 by AMD/Luxoft
with fewer files, FFmpeg fallback for software encoding, and HDR
support. I also went to lengths to ensure that FFmpeg command line
parameters also works with it)

Co-authored-by: Jim <obs.jim@gmail.com>
2022-07-21 15:29:25 -07:00
gxalpha
393af9d916 mac-syphon: Ignore 10.13-only deprecation warning 2022-07-21 01:13:16 +02:00
tytan652
8409f72f60 plugins: Replace OBS_UNUSED with UNUSED_PARAMETER
OBS_UNUSED is not portable to MSVC.
2022-07-20 08:22:08 +02:00
tytan652
79480c98d9 aja: Remove unused parameters 2022-07-20 08:22:08 +02:00
tytan652
fcc94634d9 obs-ffmpeg: Remove unused parameter 2022-07-20 08:22:04 +02:00
Norihiro Kamae
317780ca1b aja: Remove unnecessary .keepme files
Since the directory contains some files, .keepme, which is intended to
keep an empty directory on a git repository, is unnecessary.
2022-07-19 14:40:32 -04:00
Norihiro Kamae
1005022621 obs-filters: Remove unnecessary OBS_UNUSED attribute
The attribute OBS_UNUSED was added at 49e9d4994 but the parameter is
read in the function if LIBSPEEXDSP_ENABLED is defined
2022-07-19 11:01:00 -04:00
Norihiro Kamae
7e3656ab33 plugins: Cleanup unused-parameters
- Remove unnecessary UNUSED_PARAMETER
- Add OBS_UNUSED attribute to unused parameters
- Also removes unused variables
2022-07-19 11:01:00 -04:00
tytan652
5ff07c63b6 mac-videotoolbox: Guard hardware_accelerated check behind macOS 10.14 2022-07-19 12:46:42 +02:00
tytan652
a81a9ea113 mac-avcapture: Fix null-conversion warning 2022-07-19 12:46:42 +02:00
Richard Stanway
22ef40ba17
text-freetype2: Don't read / write empty size arrays 2022-07-18 23:23:12 +02:00
Richard Stanway
174e91f211
rtmp-services: Avoid calling bmemdup on NULL resolution list 2022-07-18 23:12:49 +02:00
jpark37
5738f63549 obs-ffmpeg: Fix type mismatch 2022-07-18 03:52:04 -07:00