Commit Graph

14944 Commits

Author SHA1 Message Date
Matt Gajownik de61fd5756 CI: Add CEF & enable obs-browser for Windows on ARM 2025-05-20 12:50:41 -04:00
derrod 56f75bd3e0 win-capture: Add SDL_app to list of generic classes 2025-05-19 19:25:56 -04:00
Dennis Sädtler 8e129b171d obs-outputs: Correct FLV composition time offset calculations
The conversion to milliseconds rounds down. Rounding down DTS and CT
values independently results in a cumulative error that results in the
PTS (DTS + CT) being incorrect (off-by-one).
2025-05-19 15:32:11 -04:00
Ed Maste 16cb051a57 libobs-opengl: Promote eglCreateImage failure to LOG_ERROR
Xcomposite window capture is currently failing on FreeBSD, in
gl_egl_create_texture_from_pixmap (for currently unknown reasons).
Increase the log level of the existing log for eglCreateImage failure
from LOG_INFO to LOG_ERROR to provide a hint for anyone who encounters
the same issue in the future.
2025-05-15 16:55:44 -04:00
JiangXsong 4510b93bcb linux-v4l2: Skip decode H264/MJPEG frames during capture 2025-05-15 16:06:27 -04:00
deltamaya caa3d3eb52 CONTRIBUTING.rst: Fix typo 2025-05-14 13:49:54 -04:00
shiina424 91ad044e68 frontend: Add close icon 2025-05-14 13:18:37 -04:00
Ryan Foster 235be8ca3f CI: Update obs-crowdin-sync to latest
This should allow obs-crowdin-sync to work with the UI/frontend folder
structure changes.
2025-05-13 15:24:52 -04:00
tytan652 b65ee89451 frontend: Use winId for Wayland surface in Qt 6.9+
As of Qt 6.9, winId return a wl_surface pointer which allows us to move
away completely from QPlatformNativeInterface.

https://github.com/qt/qtwayland/commit/32f9b4d
2025-05-13 14:40:31 -04:00
Ryan Foster 840ca8e0d9 frontend: Use public QNativeInterface in Qt 6.5+
Using QNativeInterface allows us to move away from most of
QPlatformNativeInterface usage.
2025-05-13 14:40:31 -04:00
Ryan Foster 8b0e9748da obs-browser: Update to 2.25.0
c5a2092 - Add hardware accel support under Linux
be8e590 - Add workaround for hardware accel under X11
00b920f - Blacklist NVIDIA driver for hardware accel under Linux
a0a0edc - Fix support for building with CEF 5060
a54e7c4 - Enable building with CEF 6834
99f9940 - Enable building with CEF 6943
55071a1 - Expand panel shutdown loop to all platforms
0fb70b6 - Add workaround for browser dock hanging
0b13eb9 - Replace Glad usage with newer libobs graphics API
f617868 - Prevent Windows 11 timer resolution throttling to fix audio distortion
5ee8056 - Update version to 2.25.0
2025-05-13 14:02:55 -04:00
Ed Maste e0e132e5cf frontend: Fix build on FreeBSD
libpci is now required on FreeBSD, as on Linux.

Fixes: e1d2cf705d ("frontend: Support enhanced broadcasting on Linux")
2025-05-12 17:21:09 -04:00
Ryan Foster 11ee75d2c2 libobs: Fix canvas_dosignal_source() using wrong signal handler 2025-05-12 16:25:21 -04:00
Exeldro e855bb9d0d libobs: Add obs_canvas_get_signal_handler 2025-05-12 16:25:21 -04:00
ScoochAside ae29c4909f docs: Fix function name obs_set_video_sdr_white_level
Should be obs_set_video_levels
2025-05-12 15:52:27 -04:00
tfo 000437ff7e decklink: Fix incorrect HDR min mastering luminance value
Update value for
bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance from 0.00001
to 0.0001 to match the documented minimum in the DeckLink SDK Manual.
2025-05-09 14:16:54 -04:00
Alex Luccisano ef3e7b2563 libobs: Add checks to some graphics API functions
A few recently introduced graphics API functions needed for Enhanced
Broadcasting were marked as `GRAPHICS_IMPORT_OPTIONAL`. Add the
proper checks in the wrapper to ensure they are safe on platforms
that do not implement the underlying function.
2025-05-09 13:08:10 -04:00
Dennis Sädtler e474a3723b frontend: Allow 5 multitrack reconnect attempts before re-running GCC 2025-05-07 15:46:50 -04:00
Ed Maste 6204c22853 libobs/util: Fix build on FreeBSD
FreeBSD already implemented os_get_free_size.  Move the new Linux
implementation into the existing not-__FreeBSD__ block.

Fixes: 935613816f ("libobs/util: Update `os_get_free_size()`")
2025-05-07 15:22:24 -04:00
PatTheMav 16216b2e30 frontend: Fix character encoding issue during profile import
The directory name string passed into libobs functions needs to be
converted into a 8-bit-based encoding (e.g., UTF-8) to avoid mangling
of characters and encoding issues particularly on Windows systems which
use UTF-16 for file names.
2025-05-07 14:58:38 -04:00
Dennis Sädtler 33734ef99c libobs: Fall back to main canvas dimensions if group canvas unset 2025-05-07 14:01:15 -04:00
Dennis Sädtler 66f47924ea libobs: Add obs_canvas_rename_source() 2025-05-06 16:07:47 -04:00
jeiea 22c4e11ec8 media-playback: Fix possible crash on startup
Frame width/height check crash if the frame is not given.

We can reorder width/height check after other precondition checks.
2025-05-06 14:27:29 -04:00
Service Checker c96366eafb rtmp-services: Remove defunct servers/services 2025-05-06 14:03:33 -04:00
cg2121 d7cce79d7e frontend: Use static_cast when casting from void pointers
Using static_cast is preferred here, as it is safer to use than
reinterpret_cast.
2025-05-05 20:47:10 -04:00
Ryan Foster c86de0587a win-capture: Fix crash if no display is available
If no displays are available, numPath or numMode can be 0, which will
result in a bmalloc(0) call and OBS will crash.
2025-05-05 19:23:36 -04:00
Ryan Foster 720f37046f Revert "obs-ffmpeg: New default AMD encoding settings"
This reverts commit 5a1f622ac1.
2025-05-05 18:52:29 -04:00
Ryan Foster a96de1e5dc Revert "obs-ffmpeg: Add Pre-Analysis checkbox for AMD encoder"
This reverts commit c518f69c84.
2025-05-05 18:52:29 -04:00
Huts, Roman c518f69c84 obs-ffmpeg: Add Pre-Analysis checkbox for AMD encoder 2025-05-05 17:43:00 -04:00
Huts, Roman 5a1f622ac1 obs-ffmpeg: New default AMD encoding settings
# Conflicts:
#	plugins/obs-ffmpeg/texture-amf.cpp
2025-05-05 17:43:00 -04:00
Dennis Sädtler 0552062390 frontend: Allow selecting additional canvases for multitrack 2025-05-05 17:17:20 -04:00
Dennis Sädtler 8117c89b9a frontend: Update multitrack API model
"revision" was defined to be a string in the schema but accepted
integers, this is enforced with the new schema version.
2025-05-05 17:17:20 -04:00
Dennis Sädtler 811072d0fd frontend: Always limit multitrack video encoders to libobs maximum 2025-05-05 17:17:20 -04:00
Dennis Sädtler de7df57ee2 libobs: Raise max number of output encoders to 10 2025-05-05 17:17:20 -04:00
Miha Frangež 1fc94ecde5 libobs/util: Fix os_process_pipe_create on Linux
This fixes a regression on Linux, introduced in commit 9bc3082.

According to the POSIX specification for the exec family of commands, 
"The first argument is the filename or pathname of the executable to 
be executed". This was done correctly before, but the above commit 
removed "sh" from the arguments, breaking the pipe function on Linux.
2025-05-05 16:54:12 -04:00
Dennis Sädtler f1e44c122c libobs: Improve readability of scene duplication type 2025-05-05 15:19:31 -04:00
cg2121 345fe56b6e frontend: Make sure all QObject subclasses have Q_OBJECT macro
Went through and found all QObject subclasses that didn't have
a Q_OBJECT macro.
2025-05-05 13:10:39 -04:00
tytan652 5ed5863556 libobs: Fix module load in relocatable scenario 2025-05-03 16:34:25 -07:00
jeiea a1c6bae601 nv-filters: Fix warnings with Visual Studio 2022 17.14
Following error occurs with Visual Studio 2022 v17.14 Preview 4.0 and
Windows 11 SDK 10.0.26100.0

nvidia-videofx-filter.c(133,9): error C2220: the following warning is
treated as an error
nvidia-videofx-filter.c(133,9): warning C5287: operands are different
enum types 'nvvfx_fx_id' and 'nvvfx_filter_id'; use an explicit cast to
silence this warning

The warning is reasonable, so change mismatched enum type.
2025-05-02 16:59:57 -04:00
jeiea 55673966cf win-capture: Fix warnings with Visual Studio 2022 17.14
Following error occurs with Visual Studio 2022 v17.14 Preview 4.0 and
Windows 11 SDK 10.0.26100.0.

duplicator-monitor-capture.c(766,35): error C2220: the following warning
is treated as an error
duplicator-monitor-capture.c(766,35): warning C5287: operands are
different enum types
'window_capture_method' and 'display_capture_method'; use an explicit
cast to silence this warning

The warning is reasonable, so change mismatched enum type.
2025-05-02 16:59:57 -04:00
Dennis Sädtler 8441c04c73 frontend: Add frontend API canvas methods 2025-05-02 14:35:22 -04:00
Dennis Sädtler 368185019e frontend: Add support loading/saving additional canvases 2025-05-02 14:35:22 -04:00
Dennis Sädtler afd7619c98 frontend: Add OBS::Canvas class 2025-05-02 14:35:22 -04:00
cg2121 47360a92c5 frontend: Use Q_OBJECT macro for BrowserDock
This is needed as the BrowserDock is a QObject.
2025-05-01 16:01:14 -04:00
Sergio Garcia Murillo 2b56ccfeb5 rtmp-services: Add Enhanced Streaming support for Dolby Millicast 2025-05-01 14:05:44 -04:00
PatTheMav 3311a7105e libobs: Mark data path modification functions as deprecated 2025-04-30 15:14:57 -04:00
gxalpha 281f8137f5 UI,libobs,obs-outputs: Remove HAVE_OBSCONFIG_H ifdefs
With the removal of all legacy code paths, obsconfig.h always exists and
the compile definition always gets set. As such, it's no longer
necessary to check for it.

As removing the definition itself could be seen as a breaking change,
this simply moves the definition to pc.in and cmake.in files for now to
preserve the value for plugins that might expect this to be set. We may
remove the definition entirely in a later release.
2025-04-30 13:05:35 -04:00
Ruwen Hahn 9bba6e52ff frontend: Allow Network Optimizations with multitrack video
"Enable network optimizations" in the Advanced Settings is referred to
as `NewSocketLoop` in the code. This feature was incompatible with
multitrack video but now works properly. Remove it from the
incompatible settings check.
2025-04-30 12:27:03 -04:00
Ruwen Hahn 0576182f96 obs-outputs: Include all audio encoder bitrates
When network optimizations are enabled, `new_socket_loop` is enabled,
and an accurate total output bitrate is required. Include the audio
bitrates in this calculation.
2025-04-30 12:27:03 -04:00
Alex Luccisano 6bb9019aff frontend: Allow Stream Delay with multitrack video
Remove Stream Delay from the incompatible settings list for multitrack
video as it works properly now.
2025-04-29 13:50:57 -04:00