Commit Graph

4804 Commits

Author SHA1 Message Date
derrod
e8968ba715 obs-nvenc: Force at least 4 b-frames when using UHQ tune 2024-10-21 12:18:05 -04:00
Ryan Foster
b18b1346a0 obs-browser: Update version to 2.24.4
910617b - Wait for CEF close event for docks
a76b4d8 - Update version to 2.24.4
2024-10-18 17:44:01 -04:00
Ryan Foster
05d2ee1b6f obs-browser: Update version to 2.24.3
c31adce - Bump nlohmann/json required
aa8953c - clang-format: Increase column limit from 80 to 120
b89a128 - Fix blank Dev Tools window title
4dafce8 - cmake: Fix CEF minimum version
f459def - CI: Port check-changes action from obs-studio
3773257 - build-aux: Add clang-format scripts
0f4af02 - CI: Port run-clang-format action from obs-studio
5823260 - CI: Port check-format workflow from obs-studio
be035cd - CI: Remove old clang-format workflow and shell scripts
362b9a3 - clang-format: Update to clang-format 17.0.3
941c48b - CI: Port appropriate workflows to call check-format
fc946f2 - Replace obs-websocket-api copy with CMake target
31fd647 - Update version to 2.24.3
2024-10-17 15:26:39 -04:00
Dimitry Andric
94866fbcc5 obs-outputs: Add cast to fix build with Clang 19
Clang 19 has become more strict about mixing different enum types, which
resulted in an error building multimedia/obs-studio on FreeBSD:

/wrkdirs/usr/ports/multimedia/obs-studio/work/obs-studio-30.2.3/plugins
    /obs-outputs/flv-mux.c:659:37: error: bitwise operation between
    different enumeration types ('enum multitrack_type_t' and 'enum
    packet_type_t') [-Werror,-Wenum-enum-conversion]
2024-10-16 11:59:06 -04:00
Ryan Foster
edd7a387a4 obs-qsv11: Update minimum VPL version to 2.9
Since we no longer support Ubuntu 22.04, we can bump the minimum VPL
version to 2.9 which is available in Ubuntu 24.04 packages.
2024-10-15 14:52:04 -04:00
Exeldro
9e7b51a585 obs-ffmpeg: Fix deadlock on shutting down muxer 2024-10-07 15:16:42 -04:00
shiina424
b188874487 obs-nvenc: Add missing locale text 2024-10-07 14:27:52 -04:00
tytan652
641d651e55 linux-pipewire: Avoid trying to allocate 0 byte 2024-10-05 16:50:31 -07:00
Lain
5a1fca9347 linux-capture: Fix potential null pointer dereference
Use dstr_cmp() instead of strcmp() to prevent null pointer dereferences.

This code for this source has way too many pointers.
2024-10-05 16:49:23 -07:00
Translation Updater
e6d9f73736 Update translations from Crowdin 2024-10-05 05:02:27 +00:00
Matt Gajownik
2e6d0d0a52 plugins: Update translations from Crowdin 2024-10-05 14:56:41 +10:00
Ryan Foster
a1fbf1015f clang-format: Increase column limit from 80 to 120 2024-10-04 18:19:27 -04:00
tytan652
42670ab4e3 plugins/test: Remove legacy CMake remnants
Some legacy files were missed in 72428ccd97
2024-10-03 17:32:08 -04:00
Service Checker
8cacec92f5 rtmp-services: Remove defunct servers/services 2024-09-26 13:52:42 -04:00
PatTheMav
f9f974fe7b cmake: Update use of MbedTLS to support update to version 3.6.0
MbedTLS changed a lot of internals with their LTS version 3.6.0, which
are incompatible with the find module currently shipped with
OBS Studio.

The solution requires several changes to be applied at once:

* Rename the generated target name to MbedTLS::mbedtls to match the
  name used by MbedTLS' own CMake package
* Update find module to use the updated target name(s)
* Set CMAKE_FIND_PACKAGE_PREFER_CONFIG to TRUE before trying to find
  MbedTLS to ensure that CMake package files are used with priority
  (Those are shipped only with MbedTLS 3.6.0 in obs-deps).
* A deprecation warning is emitted if the find module is used with
  MbedTLS 3.6.0 available
2024-09-13 18:30:42 -04:00
Kurt Kartaltepe
2ecf2c802c obs-qsv11: Initialize allocator response
We check that mids is a nullptr which may not be the case if this
remains uninitialized. Earlier attempt to fix this assumed we faulted on
the response itself.

fixes #11221
2024-09-13 16:27:02 -04:00
Gale, Thy-Lan
53853df33a obs-qsv11: Add AV1 Screen Content Tools 2024-09-13 15:23:35 -04:00
PatTheMav
6c590805e8 cmake: Update supported CMake version range to 3.28 and 3.30 2024-09-13 14:42:32 -04:00
Exeldro
7a35d7c549 obs-ffmpeg: Add logging of audio track 2024-09-12 18:07:19 -04:00
jcm
552a88a895 mac-virtualcam: Compare camera UUIDs using CFUUID 2024-09-12 17:21:12 -04:00
Fabien Lavocat
8b31c487ba rtmp-services: Remove outdated Dolby Millicast locations 2024-09-12 15:13:16 -04:00
gxalpha
922e2cc151 cmake: Remove remaining cmake-format comments
cmake-format was replaced with gersemi in
19d3e30a3a. As such, these comments no
longer have any effect.
2024-09-12 14:20:28 -04:00
Paul Gregoire
62c4a90809 obs-webrtc: Add STUN support to Link header parse 2024-09-11 13:55:54 -04:00
tytan652
31385006d5 Remove legacy_check CMake macro
The macro was not removed in 72428ccd97
waiting for submodules to be be updated to a commit where their legacy
code path is removed.
2024-09-11 13:24:39 -04:00
Norihiro Kamae
e87593b3d4 obs-nvenc: Fix reading uninitialized variable 2024-09-11 13:02:58 -04:00
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:
a73c92788d
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