Commit Graph

14371 Commits

Author SHA1 Message Date
derrod ebc50f0d2a obs-nvenc: Improve logging of user settings
- Omit irrelevant settings (e.g. CQP in CBR mode)
- Set rate control string to "lossless" in lossless mode
2024-08-17 16:14:48 -07:00
derrod f35646ae3c obs-nvenc: Remove non-functional legacy lossless mode 2024-08-17 16:14:48 -07:00
derrod 418c9b87cf UI: Fixup ResolveVariable to be less jank 2024-08-17 16:05:26 -07:00
Lluís Batlle i Rossell 7c85253667 obs-ffmpeg: Fix VAAPI/NVENC ifdefs
VAAPI init was under NVENC clauses, so it was disabled if no NVENC.

That was introduced in af555b9372
from #10536, which refactored NVENC.
2024-08-16 13:25:07 -04:00
Ryan Foster df137d9efe CI: Update deps to 2024-08-08 release
Notable changes:
 * deps.ffmpeg: Enable Media Foundation
 * deps.ffmpeg: Update nv-codec to 12.2.72.0
 * deps.macos: Use correct CMake vars for libajantv2
 * deps.macos: Add SIMD Everywhere to macOS deps
 * deps.windows: Add SIMD Everywhere to Windows deps
 * deps.windows: Update VPL to v2.12.0
2024-08-16 13:01:11 -04:00
Ryan Foster 9c3ac1ef71 Merge pull request #11102 from derrod/ci-remove-legacy-gamecap
CI: Remove game capture dual-signing
2024-08-15 13:28:58 -04:00
derrod 5cbeb1536a CI: Bump sign-windows commit hash 2024-08-15 04:51:39 +02:00
derrod dc7a58484d CI: Remove game capture dual-signing 2024-08-15 04:49:49 +02:00
Ryan Foster ee1b782256 obs-browser: Update version to 2.24.1
d18fc7a - Enable building with CEF 6533 & 6613
22db20b - Fix CSS injection for sites with strict CSP
2024-08-14 15:22:09 -04:00
Ryan Foster 76230b106c .git-blame-ignore-revs: Add change from cmake-format to gersemi 2024-08-14 12:10:35 -04:00
PatTheMav b8cfacaec3 Update formatting of CMake files 2024-08-14 12:07:47 -04:00
PatTheMav 19d3e30a3a CI: Replace cmake-format with gersemi for CMake file format checks 2024-08-14 12:07:47 -04:00
PatTheMav 5c7b1c3ed3 CI: Add configuration file for gersemi CMake formatter 2024-08-14 12:07:47 -04:00
Richard Stanway 1e6c375e95 happy-eyeballs: Specify AI_ADDRCONFIG for getaddrinfo
This might help to avoid returning IPv6 addresses on systems without
IPv6 connectivity.
2024-08-12 20:02:04 -04:00
Richard Stanway 78ffd99ab1 happy-eyeballs: Move happy_eyeballs_destroy to a thread
On Windows, shutdown() will not interrupt a blocking connect() call, so
happy_eyeballs_destroy could block until the remaining candidates timed
out. As happy_eyeballs_destroy is called in the RTMP connect path, this
would stall the RTMP connection and cause the winning candidate's socket
to be disconnected due to a timeout.
2024-08-12 20:02:04 -04:00
Richard Stanway fce534572b happy-eyeballs: Reserve array length for all candidates
The code currently assumes that the array does not change during
execution, this assumption is violated when the darray resizes causing
previous pointers to point to invalid memory and cause undefined
behavior and crashes.

This may need refactoring in the future, this commit simply fixes the
issue for now.
2024-08-12 20:02:04 -04:00
tytan652 c7b0c63d01 obs-nvenc: Fix building with nvcodec 12.2 2024-08-12 23:40:17 +02:00
jcm 1b25acd184 UI: Don't create default desktop audio source on macOS 13+ 2024-08-12 22:45:16 +02:00
derrod 8adc76f87f docs: Add source profiler functions 2024-08-10 23:51:39 -07:00
Rodney 198581a475 libobs: Add source profiler 2024-08-10 23:51:39 -07:00
derrod dd3ffc1e34 obs-outputs: Defer muxer destruction to task queue 2024-08-11 05:06:16 +02:00
cg2121 89554112c1 UI: Cleanup frontend event handling
This adds a function to OBSBasic to call on_event, so every
time a event is called, the api variable doesn't have to be
checked everytime.
2024-08-10 17:35:22 -07:00
cg2121 0306effc5f UI: Add pragma once to ScreenshotObj header
Makes sure header is only included once preventing code clashes.
2024-08-11 09:53:34 +10:00
derrod 83528fba2c obs-nvenc: Improve logging for custom options 2024-08-10 16:53:18 -07:00
jcm 66ff8cb6d3 libobs: Always explicitly check modifiers in macOS hotkey event handler 2024-08-11 09:44:28 +10:00
pkv 1451554fb8 obs-ffmpeg: Fix SRT listener bug
Fixes #10504.
There was a bug in FFmpeg implementation which was hidden by a bug in
libsrt; it was fixed in a recent commit [1].
When we ported FFmpeg libsrt.c to obs, we brought the said bug along.
When starting an SRT stream in listener mode, if no connection is made
by a client, there were two issues:
- 1) obs was stuck into a connecting loop,
- 2) the socket was not closed when exiting OBS.
This fixes the issue so that SRT is displaying that a stream started
when in listener mode even if NO client is connected.
This is the correct behaviour for a listener.
The stream now closes properly.

[1] https://git.videolan.org/?p=ffmpeg.git;a=commit;h=87677c2195e86b126c3438439a05d0a46ae5bb50
Signed-off-by: pkv <pkv@obsproject.com>
2024-08-10 01:54:27 -07:00
Lain e8f87e4196 Merge pull request #10536 from derrod/nvenc-rework
NVENC Refactor
2024-08-08 17:00:10 -07:00
derrod feba2bcbf9 UI: Use new NVENC encoder ids 2024-08-08 22:52:40 +02:00
derrod 6e435dbe2e cmake: Update ubuntu preset with NVENC changes 2024-08-08 22:52:40 +02:00
derrod 911a49070b obs-nvenc: Add new NVENC plugin 2024-08-08 22:52:40 +02:00
derrod af555b9372 obs-ffmpeg: Remove native/disable FFmpeg NVENC 2024-08-08 22:52:40 +02:00
pkv 00c495b203 obs-filters: Move NVIDIA filters in their own project
This commit does the following:
1. Factor out NVIDIA Audio Effects from Noise Suppression filter.
2. Move NVIDIA Audio Effects to a new filter in a new nv-filters
project.
3. Migrate Noise Suppression filter settings to the new filter when
NVIDIA Audio effects were used.
4. Migrate NVIDIA AI Greenscreen to the new nv-filters project for
easier maintainance of all NVIDIA Maxine effects.

Context:
 Currently, the three NVIDIA Audio Effects (noise suppression, room
echo removal, noise suppression + room echo removal combined) are part
of the noise suppression filter.
Historically, it's because a lot of code was shared between speex,
rnnoise & NVIDIA noise suppression.
But the NVIDIA code has become bulkier & cumbersome due to:
- addition of other effects;
- addition of a deferred loading thread.
The factorisation makes the code very difficult to maintain for
(un)readability reasons.
This will make it easier to add other audio effects, should we wish to.
Developers life will be easier too when debugging.
The code has been reorganized and comments added.
I also added a mutex in the process_fx function to avoid a crash when
swapping effects.

Signed-off-by: pkv <pkv@obsproject.com>
2024-08-08 15:53:52 -04:00
Norihiro Kamae 37b40184a0 shared/obs-scripting: Add inline qualifiers to functions in header file 2024-08-07 17:27:49 -04:00
Norihiro Kamae 84b321e95e UI: Remove unused static-inline function 2024-08-07 17:27:49 -04:00
Norihiro Kamae 5dd97b3688 libobs-opengl: Remove unused static-inline function 2024-08-07 17:27:49 -04:00
Norihiro Kamae 9a9975890e libobs/callback: Remove unused static-inline function 2024-08-07 17:27:49 -04:00
Norihiro Kamae 4837a3417f libobs/util: Remove unused static-inline function
The commit 862f16285f commented the function out and the function became
unused.
2024-08-07 17:27:49 -04:00
Norihiro Kamae d76f4b3aad libobs: Remove unused static-inline functions 2024-08-07 17:27:49 -04:00
Norihiro Kamae 71736ffb7d libobs/graphics: Add inline qualifier to functions in header files 2024-08-07 17:27:49 -04:00
Norihiro Kamae 123231c97c text-freetype2: Move static function declarations from header file 2024-08-07 17:27:49 -04:00
Norihiro Kamae bec9f0c544 obs-x264: Remove unused function 2024-08-07 17:27:49 -04:00
Norihiro Kamae 384a5e7f30 obs-qsv11: Remove unused functions 2024-08-07 17:27:49 -04:00
Norihiro Kamae 6532be4140 obs-outputs: Remove unused functions on non-Windows
Also adjusted mixed usage of `#if defined` and `#ifdef`.
2024-08-07 17:27:49 -04:00
Norihiro Kamae d2971d1aaa obs-filters: Remove unused functions when NvAFX is disabled 2024-08-07 17:27:49 -04:00
Norihiro Kamae e9c440401c obs-ffmpeg: Resolve unused-function warnings 2024-08-07 17:27:49 -04:00
Norihiro Kamae f811903e4f linux-pipewire: Remove unused function 2024-08-07 17:27:49 -04:00
Norihiro Kamae 82466751ea linux-alsa: Remove unused function declaration 2024-08-07 17:27:49 -04:00
derrod 95a753b9d8 libobs: Fix buffer overrun in os_wcs_to_utf8() 2024-08-06 08:34:24 -07:00
Florian Zwoch e36352dadd libobs/util: Fix potential memory error in text parser
Fixes memory access when parsing '#' comment tokens when the file
immediately was EOF after this token.
2024-08-06 07:20:32 -07:00
Kurt Kartaltepe 15ec21106a obs-qsv11: Check for null response on free
During destruction of the QSV_Encoder_Internal the response may not be
initialized and we can segfault. Add a check for this similar to the
Windows implementation.
2024-08-05 20:28:07 -04:00