Commit Graph

4974 Commits

Author SHA1 Message Date
Ryan Foster 2cb17dbc04 obs-browser: Update version to 2.26.0
obsproject/obs-browser@e5f0dbf - Add check for Metal in render function
obsproject/obs-browser@0e38358 - Fix stack smash crashes on Linux
obsproject/obs-browser@a9848f6 - Remove support for CEF 3770 and older
obsproject/obs-browser@0cc2b21 - Remove support for CEF versions older than 4103
obsproject/obs-browser@e1f1cb7 - Remove support for CEF versions older than 4183
obsproject/obs-browser@d1368fb - Remove support for CEF versions older than 4430
obsproject/obs-browser@93e3d1e - Remove ENABLE_WASHIDDEN
obsproject/obs-browser@963e2eb - Remove support for CEF versions older than 4472
obsproject/obs-browser@78008fc - Remove support for CEF versions older than 4638
obsproject/obs-browser@8fe72cc - Remove support for CEF versions as old as 4638
obsproject/obs-browser@0dde9f9 - Use v2 of obs_properties_add_button
obsproject/obs-browser@53d9a09 - Update clang-format to 19.1.1
obsproject/obs-browser@5306c61 - build-aux: Update run-format script to current obs-studio state
obsproject/obs-browser@c3b1e81 - Update version to 2.26.0
2025-08-25 19:38:30 -04:00
Sebastian Beckmann b9c25ad94c win-dshow: Temporarily tolerate deprecated autoselect functions
These usages should be removed! On Clang or GCC this would throw a
warning now, but unfortunately on MSVC (the only compiler this plugin is
built with) PRAGMA_WARN_DEPRECATION disables the warning completely.

The only reason the usages here are tolerated is that removing them is
not completely trivial and I cannot test it.
2025-08-25 19:13:25 -04:00
Sebastian Beckmann a92464d421 mac-avcapture/legacy: Remove autoselect feedback 2025-08-25 19:13:25 -04:00
Service Checker 31574b416f rtmp-services: Remove defunct servers/services 2025-08-22 23:33:47 -04:00
Sean DuBois e4322bac68 obs-webrtc: Add version IFDEFs for 0.23.0
SenderReports are automatically sent. Disabling them via IFDEF so they
don't fail the build.
2025-08-22 21:55:56 -04:00
pkv 55c4ca9e63 obs-ffmpeg: Fix crash when using a pkt_size != 1316
This fixes a crash when using a pkt_size which is not the UDP default of
1316 Bytes ( 7 * 188 ).

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv 67b0b44fec obs-ffmpeg: Log SRT listener waiting for a connection
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv 1407398e7f obs-ffmpeg: Change OBS-OUTPUT-XXX returns for RIST protocol
This updates a few OBS-OUTPUT-XXX to better reflect the output failures
for the RIST protocol.
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv 467967eab6 obs-ffmpeg: Fix a crash with invalid URL
This fixes a crash when an invalid URL is used.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv 651544a487 obs-ffmpeg: Reimplement reconnection logic in mpegts muxer
This reimplements the reconnect logic in mpegts muxer.
Taking cues from the WHIP output, a start and stop thread is used,
controlled by a mutex, ensuring the start and stop pipelines can never
be run concurrently.
Fixes bugs #11885, #11721, #11620, #11062, #12133.
For better readibility, this commits also breaks the big set_config
function into smaller units.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv 8d9bd44179 obs-ffmpeg: Fix reconnection for SRT protocol
This is the first part of a fix for reconnection issues with SRT
protocol.
This part implements the logic on the side of the protocol.
The fixes are as follows:
- a cleanup of return values of the various functions used. The main
libsrt_open function returns OBS_OUTPUT_XXX enum members. But the other
functions return now only AVERROR(xxx).
- an explicit check of the socket state before returning
OBS_OUTPUT_SUCCESS. This fixes an issue due to relying on socket
non-blocking mode; in caller mode, the srt_connect function will return
a success even before a connection has succeeded since it relies on
notifications by srt_epoll_wait. This would prompt obs UI to display a
successful reconnection in spite of a failure.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv 3ae9d6a106 obs-ffmpeg: Cleanup for mpegts muxer
The do_log function defined for the muxer expects that the struct is
named stream rather than output. So rename output to stream.
This also avoids confusion with stream->output which is an obs_output_t
pointer.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
derrod 2eabfdad55 obs-outputs: Allow enabling BPM for Hybrid MP4 output 2025-08-22 17:35:16 -04:00
tytan652 2fe0385d13 linux-pipewire: Add aspect ratio to video capture format name 2025-08-22 14:34:28 -04:00
tytan652 3cce28a1d3 linux-pipewire: Add framerates to video capture format name 2025-08-22 14:34:28 -04:00
tytan652 c11253bb08 linux-pipewire: Use list-based format selector for video capture
Negotiation is now made with the user selected format.

Also fixes a typo in the name of a structure.
2025-08-22 14:34:28 -04:00
derrod 86f98beaf1 obs-nvenc: Add SDK 13.0 features 2025-08-21 18:35:35 -04:00
derrod c6650e212c obs-nvenc-test: Add SDK 13.0 features and Blackwell 2025-08-21 18:35:35 -04:00
derrod fd757d6edd obs-nvenc-test: Add error message for session limit being hit 2025-08-21 18:35:35 -04:00
derrod 43e8d02117 obs-nvenc-test: Query device info even if NVENC fails 2025-08-21 18:35:35 -04:00
derrod 666b2c7141 obs-nvenc-test: Add device architecture to device info 2025-08-21 18:35:35 -04:00
derrod 5f2a4e976f obs-outputs: Add support for Hybrid MOV 2025-08-21 18:14:33 -04:00
derrod 3e82c919e5 obs-outputs: Remove FFmpeg-style timebase adjustment
Since OBS enforces a constant frame rate and monotonic timestamps
this is not necessary for us.
2025-08-21 18:14:33 -04:00
Huts, Roman ef4c542850 obs-ffmpeg: Add missing color range property setting for AMD AV1 encoder 2025-08-21 17:16:06 -04:00
pkv 164c921006 nv-filters: Remove from video fx header redundant define
These defines were defined twice ... due to a botched rebase.
Formatting fixes too.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv 50b0943cec obs-filters: Purge NVIDIA Noise suppression
This completely removes what remained in obs-filters of NVIDIA FX, which
have been moved to their own project.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv 8ae76937e0 nv-filters: Premultiply correctly for Blur FX
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv f3ebb86396 nv-filters: Fix for size changes with video fx
The && should be a || when sizes are changed.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv 3baf0456ba nv-filters: For Blur FX, do not set mask image
It is not necessary to set the mask parameter for Blur FX.
Setting it to NULL, will apply the blur to the whole image.
This is not documented in the SDK but is returned when info about the
FX is requested by the plugin to the SDK library.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv ea96f87ca1 nv-filters: Fix load of video FX during reset
The video FX must be reloaded whenever any of its settings have changed,
including its the temporal state.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv ab55bb46ea nv-filters: Set NvVFX_Run to SYNC mode
The NvVFX_Run function can be run in SYNC or ASYNC mode; the SDK sample
uses SYNC. This defines the magic numbers in an enum and sets the
NvVFX_Run function to SYNC.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv 94752762c7 nv-filters: Process Background Blur FX on same CudaStream as Background Removal FX
The SDK samples uses the same CudaStream for both FX. Do likewise which
simplifies the code. (The Background Blur calls the Background Removal.)

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv 2ad236740f nv-filters: Change Background Blur to perf mode
In order to alleviate the demands on GPU, the Background Blur is now set
to Perf mode.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv ffd3a2a34e obs-filters: Remove unused NVIDIA effect
The greenscreen effect was moved to nv-filters project.
But this file failed to be removed.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv cf6eb3fd89 nv-filters: Add chair removal option to background removal
This adds the following new options for background removal effect,
namely the ability to remove the chair or leave it with the talking
head.
Requires sdk >= 0.7.6.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv b9f13cc360 nv-filters: Add voice optimization for audio filters
This adds a new property for the audio filters: VAD (Voice Audio Data).
When it is toggled, the effect will be optimized for voice processing.
Noise suppression will "remove low-volume noise and all non-speech data"
in the words of the SDK.
Requires SDK >= 1.6.0.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv 5c57cb1d8b nv-filters: Enable new logger function for audio effects
This enables a new logger function introduced in SDK >= 1.6.0, which
gives much more details about what is going on during the effect
processing.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv a8b8abe691 nv-filters: Enable new logger function for Video Effects
This enables a new logger function introduced in SDK >= 0.7.5, which
gives much more details about what is going on during the effect
processing.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv 5e60e19de3 nv-filters: Disable audio filter instead of destroying in case of issues
The audio filters are now disabled if an issue is detected;
the filter is no longer destroyed.
This avoids a call to destroy function within the filter.
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
Dennis Sädtler c1a65901f5 obs-ffmpeg: Correct P-frame packet priority in AMF encoder 2025-08-21 14:12:20 -04:00
Dennis Sädtler 8279094885 obs-nvenc: Set packet priority 2025-08-21 14:12:20 -04:00
PatTheMav 813c95f4ca libobs: Update sharpness effect to enable compilation for Metal
A boolean comparison that involves at least one vector type will
result in a boolean vector (not a boolean scalar) for Direct3D and
Metal, whereas OpenGL returns a scalar boolean.

To avoid unnecessary code complexity, use the "distance" function
instead, which treats the color values as vectors and returns a
non-zero value if they are any different, achieving the same result.
2025-08-20 17:01:09 -04:00
PatTheMav 95ea65136f plugins: Update plugins to use default draw effect for Metal 2025-08-20 17:01:09 -04:00
derrod 966f086c96 obs-outputs: Use packet time callback for frame-accurate chapter markers 2025-08-20 16:07:51 -04:00
Huts, Roman 345700b199 obs-ffmpeg: Add Pre-Analysis checkbox for AMD encoder 2025-08-20 15:15:08 -04:00
Huts, Roman 4fb20ee9ad obs-ffmpeg: Update default AMD encoding settings 2025-08-20 15:15:08 -04:00
Exeldro 033c740d13 obs-transitions: Fix stinger showing count for update during transition 2025-08-20 13:34:57 -04:00
derrod 91e90817d2 obs-outputs: Fix tkhd/mvhd box version with 64-bit timestamps 2025-08-19 23:37:02 -04:00
jcm 4e7152bd70 mac-capture: Set minimum frame interval in capture initialization 2025-08-19 22:52:20 -04:00
Sebastian Beckmann 28b0ca5187 mac-avcapture: Remove unneeded macOS SDK ifdef
We require the macOS 15 SDK since 8f1bcc1, so this check is unneeded.
2025-08-19 18:17:56 -04:00