0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00
Commit Graph

14495 Commits

Author SHA1 Message Date
PatTheMav
2f1379aa64 cmake: Default to modern CMake build system for Windows 2024-08-22 15:39:00 -04:00
derrod
ce3d739f3a UI: Only use preset2 in simple mode for legacy/FFmpeg NVENC 2024-08-22 14:33:22 +02:00
tytan652
9e547d8479 build-aux: Update Flatpak modules
* Update libvpl to version 2.12.0
* Update vpl-gpu-rt to version 24.2.5
  * 24.3 requires VVC from libva which is not the case with the actual
    runtime in use
* Update nv-codec to version 12.2.72.0
2024-08-21 19:38:17 -04:00
derrod
db5b226bb9 obs-nvenc: Only show UHQ tune on supported GPUs 2024-08-21 08:07:25 +02:00
derrod
8758ece291 UI: Remove now unused GetMonitorName for Qt < 6.4 2024-08-20 18:03:37 -04:00
PatTheMav
f82598d10e CI: Add clang-analyze analytics for macOS builds 2024-08-20 17:20:31 -04: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
PatTheMav
5bbb5e08c9 libobs: Add shared interface libraries to shared project directory
The ComPtr, WinHandle, and obfuscate source files are shared with
multiple sub-projects and thus need to be moved into the shared
directory to uncouple their availability from libobs itself.

The same applies to d3d8-api, inject-library, and hook-config
(from win-capture), as well as comutils (from the virtualcam-module).
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
PatTheMav
c89cef3aa5 cmake: Fix malformed CMake package location on Windows
CMake doesn't expect CMake package files to be separated in
subdirectories on Windows and instead expects all files to be put in
a single directory `cmake` found within one of the PREFIX paths.

Also fixes circular dependency in w32-pthreads CMake package config
file.
2024-08-20 14:48:08 -04:00
EBK21
117ee9cf44 win-update: Use correct winhttp proxy type
Legacy one does not provide correct result on some setups, use new one on 10+ .
2024-08-19 13:25:33 +02:00
derrod
c422a336fc libobs: Use weak reference for paired encoders 2024-08-18 22:35:34 -07:00
derrod
2c57f4564c libobs: Switch to full reference counting for encoders
Removes the "destroy_on_stop" hack that predates refcounting.
Ensures outputs hold strong references to all their encoders.
2024-08-18 22:35:34 -07:00
derrod
3312c2567d obs-nvenc: Fix nvenc availability check always returning true 2024-08-18 22:30:44 -07:00
derrod
d7adbf1e24 libobs: Add NULL check to encoder deprecation warning 2024-08-18 22:30:03 -07:00
PatTheMav
3d2654f71b UI: Add UUID to file-based list widgets
List widgets are currently used as playlists in source properties,
but only contain the file paths and no other identifying information.

This can lead to files being added multiple times, so when changes to
list order occurs, plugins cannot uniquely identify which duplicate
item was actually changed (because they're only identified by the path).

By adding a UUID to the user data role of a list item, an additional
unique information is added that allows plugins to de-duplicate list
items.
2024-08-18 13:00:11 -07:00
Warchamp7
81fa608cde UI: Add preview scrollbars
This adds scrollbars to the preview, so users can move around the
preview without using the spacebar + clicking.

Co-Authored-By: Clayton Groeneveld <19962531+cg2121@users.noreply.github.com>
2024-08-18 03:18:03 +02: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
cg2121
f07d2cd621 UI: Use signal vector for advanced audio dialog
Simplifies code by using a vector instead of individual signals.
2024-08-17 17:15:10 -07:00
derrod
7a90c80b36 UI: Add suffix to deprecated encoders 2024-08-18 01:20:38 +02:00
derrod
539e47e6ff obs-nvenc: Remove untranslated deprecated suffix from encoder names 2024-08-18 01:20:38 +02:00
derrod
dac13eb144 libobs: Add warning if created encoder is deprecated 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
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