Commit Graph

4779 Commits

Author SHA1 Message Date
derrod e25a8b3a4f obs-nvenc: Check if device index in settings object is actually set 2024-09-10 18:50:49 -04:00
derrod 4b0777a303 obs-nvenc: Support new error code for too many sessions
At some point NVIDIA started using NV_ENC_ERR_INCOMPATIBLE_CLIENT_KEY
instead of NV_ENC_ERR_OUT_OF_MEMORY to signal that the session limit
has been exceeded.
2024-09-10 17:51:34 -04:00
pkv de2e42b231 nv-filters: Remove unused flag in cmake
This removes the HAS_NOISEREDUCTION flag which is not used in this
plugin.

Signed-off-by: pkv <pkv@obsproject.com>
2024-09-10 14:50:46 -04:00
pkv 7fdcb166b4 obs-filters: Fix building of noise reduction
If speex and rnnoise are disabled but nvafx is enabled, the noise
reduction filter still needs to be built. This fixes the issue.

Co-authored-by: Ryan Foster <ryan@obsproject.com>
Signed-off-by: pkv <pkv@obsproject.com>
2024-09-10 14:50:46 -04:00
Gale, Thy-Lan 9f4f2e9754 obs-qsv11: Fix CBR Spike 2024-09-10 14:13:29 -04:00
Scott Cooper dfe6151465 win-capture: Fix segfault when calling data.free()
data.free should be checked before calling.
2024-09-07 16:09:03 -07:00
Alex Luccisano e11d206da8 rtmp-services: Refactor Twitch/Amazon IVS support
Separate the commonly used functions into service-ingest.c/h.
Split the Amazon IVS support out of the Twitch specific files
and into the new amazon-ivs.c/h files. This allows for clean
usage of `struct ingest` between the two services.
2024-09-06 13:40:07 -04:00
Ruwen Hahn fc60ca63dc rtmp-services: Add Amazon IVS auto server entries 2024-09-06 13:40:07 -04:00
Ruwen Hahn 6fbb06d1c2 rtmp-services: Load Twitch/Amazon IVS rtmps URLs when refreshing 2024-09-06 13:40:07 -04:00
Ruwen Hahn 6440a60d1d rtmp-services: Add Amazon IVS ingest refresh infrastructure 2024-09-06 13:40:07 -04:00
Ruwen Hahn 717161f246 rtmp-services: Extract Twitch specific info from ingest update code 2024-09-06 13:40:07 -04:00
Ruwen Hahn b029ebfdc2 rtmp-services: Add more granular Amazon IVS service servers 2024-09-06 13:40:07 -04:00
Ryan Foster f5646c6aaf obs-websocket: Update version to 5.5.3
Changes:
- Remove legacy CMake
- Fix various build issues

Changelog:
https://github.com/obsproject/obs-websocket/commit/a73c92788d70f08f91b8c0477b74f99c999beb09
2024-09-05 15:45:31 -04:00
Lain a1db1e8482 win-capture: Fix display capture capturing on create
Prevents Display capture from capturing the first display on creation.
This issue is due to the properties view combo box automatically
selecting the first item in the list by default, but this needs explicit
text anyway to indicate display, so this adds a "[Select a display]"
item that will prevent that from happening and tell the user to select a
display.
2024-09-03 13:28:29 -07:00
Lain e9c8e10729 win-capture: Fix window capture capturing random windows
This is due to the property view widget not having an item to select, so
it selects the first one, but we want to have specific text for this
anyway, so changing it here is still appropriate. (I don't want to touch
the properties view widget right now for the sake of my sanity)
2024-09-03 13:28:29 -07:00
Lain 9107b90fb3 linux-capture: Fix xshm capturing first display on creation
Like xcomposite, this was programmed to select the first display by
default. Change it to not capture any display unless explicitly selected
by the user.
2024-09-03 13:28:18 -07:00
Lain dd64fef084 linux-capture: Fix xcomp capturing random windows
There are two situations where xcomposite window capture will capture
random windows: on first creation, and when going to the properties when
the current window is invalid. The first happens because for whatever
reason someone decided to just make it capture the first top-level
window if there is no set value. The second happens because the
properties widget cannot find the value it's looking for and defaults to
the first one when the properties are opened, thus selecting and
capturing the first window in the list (which is probably something we
should fix in the properties view at some point but I don't want to dive
into code that's even *more* cursed than xcomposite code right now)

I think that this was a major oversight and that whoever wrote it
however many countless years ago did not realize that this is something
that maybe users don't want to have happen.

So instead, this diff makes it so that on first creation, it creates a
value that says "[Select a window to capture]" that keeps the capture
inactive until a user actually chooses a window rather than the
top-level window. It also makes it so that if the user has a window that
is no longer valid, it will keep that window in the list and as the
currently selected value, which prevents it from automatically selecting
the first window in the list when properties are opened.

(Have I mentioned xcomposite is cursed? Trying to debug xcomposite code
in a debugger freezes my window compositor and forces me to do a hard
restart of my entire computer, so I was forced to use printf debugging.
Absolute nightmare-inducing code in here.)
2024-09-03 13:28:18 -07:00
Lain c36575774b linux-capture: Add xcomp func for comparing encoded window IDs
This is cursed. Window ID storage for xcomposite capture is absolutely
cursed. It should not be storing the window handle with this. I'm pretty
sure that whoever wrote it at the time decided to store the god-forsaken
window handle (which does not persist after the window closes) as part
of the ID because they were afraid it might capture the wrong window if
they close OBS and open it up again while the window still exists.

Again, xcomposite capture is absolutely cursed.
2024-09-03 13:28:18 -07:00
Lain 74e49272ba linux-capture: Fix potential null pointer dereference
I'm not happy.
2024-09-03 13:28:18 -07:00
Lain 4d7bc233d7 linux-capture: Move xcomp window ID decoding to its own func
Moves the window handle/name/class decoding code out of the
xcb_find_window() function and into its own dedicated function so it can
be used elsewhere. This s*** is cursed.
2024-09-03 13:28:18 -07:00
Lain c837d3b533 linux-capture: Set xcomposite capture retry interval to 2sec
Half a second was a bit too often and was spamming the debug logging
when a window wasn't found.
2024-09-03 13:28:18 -07:00
Ryan Foster 16011f7c29 obs-browser: Update version to 2.24.2
98d94a4 - Enable Qt message loop on Linux
8e2b31f - Set the right Ozone platform on Linux
6451941 - Wait on shutdown for docks to close on Linux
174e6a8 - Remove CMake legacy code path
e4e523d - Update version to 2.24.2
2024-08-30 18:29:57 -04:00
Ryan Foster cba6ed40d2 win-dshow: Fix CMake preventing Virtual Camera from working
The code prior to this change would never add virtualcam.c to the
win-dshow target, which resulted in the virtualcam_output not being
registered and thus Virtual Camera not working.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2024-08-28 18:10:08 -04:00
tytan652 72428ccd97 Remove CMake legacy code path
Except submodules and legacy_check macro since the former depend on it.
2024-08-28 13:53:25 -04:00
gxalpha 92d5b45a50 mac-capture: Remove disp_finished event
This event is only used within destroy_[audio]_screen_stream, and does
not appear to be necessary there. stopCaptureWithCompletionHandler holds
a reference to the SCStream object by itself (and the other objects
being held aren't used afterwards anyways), so there should be no harm
in releasing everything immediately without blocking.
2024-08-25 10:17:06 +10:00
Norihiro Kamae 15038232c5 obs-ffmpeg: Remove unexisting class name declaration
The class `Logger` was declared but it is never defined nor used.
2024-08-24 16:12:12 -07:00
Michael Gillett 14f44dfe06 rtmp-services: Add NFHS Network 2024-08-23 16:31:41 -04:00
pkv f9bf7e6c00 obs-filters: Add NVIDIA Blur Filter & Background Blur
This adds a Background Blur filter which blurs the background for a
foreground speaker identified by NVIDIA AI Greenscreen FX.
Secondly, this adds a Blur filter based on NVIDIA Video Effects,
leveraging the Background Blur Filter where the mask used just sets the
whole frame as background.

Signed-off-by: pkv <pkv@obsproject.com>
2024-08-23 15:19:38 -04:00
derrod 489f050faf win-dshow: Remove compatibility with FFmpeg < 6.1 2024-08-23 13:44:04 -04:00
derrod baa1e1dc35 obs-ffmpeg: Remove compatibility with FFmpeg < 6.1 2024-08-23 13:44:04 -04:00
Len f96cf354e6 rtmp-services: Remove Hakuna Live RTMP service 2024-08-22 20:33:50 -04:00
Ryan Foster 9870cfe77b rtmp-services: Update package.json version 2024-08-22 16:51:13 -04:00
LightcastMediaCloud ab6ecde20f rtmp-services: Update Lightcast.com to Premium CDN
Incremented Version

Update services.json

Updated Lightcast.com to new Premium CDN
2024-08-22 16:18:33 -04:00
PatTheMav 46b5f7e6d0 plugins: Remove CMake legacy code paths for Windows modules 2024-08-22 15:39:00 -04:00
derrod db5b226bb9 obs-nvenc: Only show UHQ tune on supported GPUs 2024-08-21 08:07:25 +02:00
PatTheMav af2aa9b6ff shared: Remove shared interface libraries from their original locations 2024-08-20 16:00:21 -04:00
PatTheMav d81fcd70e0 cmake: Update cross-platform build project management for Windows
Enables creation of x64 and x86 child projects when building on ARM64
and decouples functionality from legacy_check function
2024-08-20 16:00:21 -04:00
gxalpha f2b5a01a88 cmake: Remove WITH_MESSAGE from obs-qsv11 2024-08-20 15:22:15 -04:00
derrod 3312c2567d obs-nvenc: Fix nvenc availability check always returning true 2024-08-18 22:30:44 -07:00
derrod 71509ad00c image-source: Move loop/randomize checkboxes to playback mode combobox 2024-08-18 03:15:50 +02:00
qhy040404 32b3517ef1 libobs: Also determine WinUI 3 Window 2024-08-17 17:16:06 -07:00
derrod 539e47e6ff obs-nvenc: Remove untranslated deprecated suffix from encoder names 2024-08-18 01:20:38 +02:00
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
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 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
PatTheMav b8cfacaec3 Update formatting of CMake files 2024-08-14 12:07:47 -04:00
tytan652 c7b0c63d01 obs-nvenc: Fix building with nvcodec 12.2 2024-08-12 23:40:17 +02:00
derrod dd3ffc1e34 obs-outputs: Defer muxer destruction to task queue 2024-08-11 05:06:16 +02:00
derrod 83528fba2c obs-nvenc: Improve logging for custom options 2024-08-10 16:53:18 -07:00