Commit graph

13992 commits

Author SHA1 Message Date
David Rosca 9a8ff0847d
obs-ffmpeg: Add ROI support for VAAPI 2024-04-21 09:15:44 +02:00
Warchamp7 a3a8f6dbfb UI: Convert themes to composable format 2024-04-21 00:01:16 -04:00
derrod eea0e3d2cc cmake: Remove font size patch on macOS 2024-04-21 00:01:16 -04:00
derrod 503968671d UI: Add composable themes feature
Co-authored-by: Warchamp7 <warchamp2003@hotmail.com>
2024-04-21 00:01:16 -04:00
derrod b76e0cd31b UI: Add 'Appearance' settings page 2024-04-21 00:01:16 -04:00
tytan652 41ba8bdfdd UI: Add HighContrastEnabled implementation for Linux 2024-04-21 00:01:16 -04:00
derrod 0a9f1e7391 UI: Add HighContrastEnabled() to platform utilities 2024-04-21 00:01:16 -04:00
derrod 8d2f4ed3e1 obs-ffmpeg-mux: Use new process args/pipe API 2024-04-20 18:30:46 -07:00
derrod 9bc3082402 libobs: Add os_process_pipe_create2
This new API uses the os_process_args_t object rather than a string for
more safe and sane command line argument handling.
2024-04-20 18:30:46 -07:00
derrod e885d25f5b libobs: Add os_process_args_t and associated functions 2024-04-20 18:30:46 -07:00
Kurt Kartaltepe 68768e13ae obs-qsv11: Fix adapter detection and fallback to sysmem
Pass down texture/host memory choice for fallback encoders. During
fallback we don't (can't) initialize a shared texture pool and should
use the regular host memory path.

This fixes usage on multi-GPU systems, and enables texture encoders.
2024-04-20 17:06:46 -07:00
Kurt Kartaltepe ebea709381 obs-qsv11: Implement texture encoder on Linux
Implements the texture allocator for QSV using VA-API surfaces and
implement encode_texture2 for using OpenGL textures directly.
2024-04-20 17:06:46 -07:00
David Rosca 06e364b670 obs-ffmpeg: Implement texture encoding for VAAPI 2024-04-20 17:03:54 -07:00
Exeldro 65295eaf93 libobs/util: Prevent leaking pipe file descriptors to subprocesses 2024-04-20 16:57:01 -07:00
Ruwen Hahn 2edc555af7 libobs: Fix grouped encoders never starting again after disconnect
(based on <340c205ce2>)
2024-04-20 16:54:26 -07:00
Warchamp7 7a3f5d784a UI: Clean up main window dock structure 2024-04-20 16:53:40 -07:00
Norihiro Kamae 7b2d555061 UI: Set dock floating after hiding it
Setting the dock floating before hiding it created a transparent window
on X11.
2024-04-20 16:49:19 -07:00
Ruwen Hahn d966742a63 libobs: Fix highest_video_ts tracking
Calling `set_higher_ts` before offsets are known pollutes
`highest_video_ts` with timestamps that are out of range of actual
timestamps. They're generally somewhere high above 0 until an
offset for all streams is found, where they are then reset to 0 or
slightly below 0 in the presence of b-frames.

`highest_video_ts` also needs to start below 0 for the same reason.
Even with timestamps being reset to close to 0, b-frames will
cause initial DTS to drop below 0, thus we need a value that should
"always" be below any "real" timestamps observed.

`highest_video_ts` tracking now only starts once all input streams
are ready, and is computed based on all buffered packets at that
point.
2024-04-20 16:41:55 -07:00
Kurt Kartaltepe e9b42e6c58 text-freetype2: Use cached glyph advances
We had these advances laying around but didn't use them here. Loading
the glyphs from the fonts is extremely slow, so let's avoid that since
we take the time to cache these already.
2024-04-20 16:28:12 -07:00
Norihiro Kamae b4a061dcd8 libobs: Remove unused variable in obs_source 2024-04-20 16:07:37 -07:00
Kurt Kartaltepe 10bfa99365 libobs: Export NV12/P010 functions
NV12 and P010 device functions were not exported on all platforms.
Windows was exporting from C files instead. After CMake 3.0 we started
hiding symbols and resolution failed.
2024-04-19 15:23:56 -04:00
derrod 83383c13bc UI: Reformat .ui files with Qt Designer
Files have been formatted with Qt Designer (bin\designer.exe) 6.6.2.
2024-04-18 17:26:30 -04:00
Ryan Foster eb65ebdc5e UI: Use System theme volume meter colors
These comments do not actually match the color values here:
 * (0xff, 0xff, 0xff) is white
 * (0xcc, 0xcc, 0xcc) is light gray

Instead of just fixing the comments, use the values from the System
theme and also correct the comments.
2024-04-18 13:59:44 -04:00
Ryan Foster 8a7ad10262 cmake: Remove find_qt macro
We no longer need this functionality in the new CMake paths. It is still
available in the legacy CMake path.
2024-04-17 21:52:14 -04:00
Ryan Foster 3cbe864b33 CI: Fix generate-docs action
Effectively revert 743117f080.

This action began failing recently. Updating the Dockerfile per the
action's repo did not fix this. Unpinning Sphinx fixed it.
2024-04-17 20:20:43 -04:00
Sergio Garcia Murillo 414580b624 obs-webrtc: Add HEVC support 2024-04-17 15:27:39 -07:00
Ryan Foster cf5f6b6796 cmake: Deprecate legacy CMake for all platforms
We now support the new, modern CMake path on all platforms. Encourage
everyone to migrate by deprecating the legacy CMake path. The legacy
CMake path will be removed in a future update.
2024-04-17 15:24:57 -04:00
Penwywern 731c2d9c82 UI: Change advanced audio controls to use audio_active 2024-04-16 15:48:42 -04:00
PatTheMav 34c846cad9 UI: Fix relocatable Linux builds using legacy portable build flag 2024-04-16 12:46:51 -04:00
PatTheMav cb1a4c1c61 libobs: Fix relocatable Linux builds using legacy portable build flag 2024-04-16 12:46:51 -04:00
tytan652 d661160560 build-aux: Make Flatpak use CMake build framework 3.0
Also change CMake build type to RelWithDebInfo which is the preferred
build type in Freedesktop SDK environments.
2024-04-16 11:15:22 -04:00
tytan652 02ead5b096 obs-ffmpeg: Fix unused variable in native NVENC 2024-04-16 11:15:22 -04:00
tytan652 d88e788f7f UI: Reduce settings dialog height if greater than the desktop
Co-authored-by: Warchamp7 <warchamp2003@hotmail.com>
Co-authored-by: derrod <dennis@obsproject.com>
Co-authored-by: Ryan Foster <ryan@obsproject.com>
2024-04-15 18:15:17 -04:00
Ruwen Hahn dcd1bd9a80 obs-outputs: Fix FLV file info offset 2024-04-15 10:27:39 -07:00
Ruwen Hahn bdd7d9cf53 obs-outputs: Change FLV tag size according to v10 spec 2024-04-15 10:27:39 -07:00
Ruwen Hahn 7373f326f3 obs-outputs: Extract previous tag size writing logic
It's not repeated that often, but only two instances had
the explanatory comment.
2024-04-15 10:27:39 -07:00
PatTheMav fb4d65875e CI: Update Linux build scripts to use CMake presets
Also adds source package generation and updates Cirrus CI script.
2024-04-13 23:48:38 -04:00
PatTheMav 53c9f79f4d UI: Make Sparkle updater a macOS-only feature 2024-04-13 23:48:38 -04:00
PatTheMav 22e2424d36 test: Update Linux slice for CMake build framework 3.0 2024-04-13 23:48:38 -04:00
PatTheMav e87a5c3691 obs-scripting: Update Linux slice for CMake build framework 3.0 2024-04-13 23:48:38 -04:00
PatTheMav 1f911dd0d0 UI: Update Linux slice for CMake build framework 3.0 2024-04-13 23:48:38 -04:00
PatTheMav be09cfe242 plugins: Update platform selection for adding plugins to build tree 2024-04-13 23:48:38 -04:00
PatTheMav 34f8abae1f plugins: Update Linux slice of cross-platform plugins for CMake 3.0
Also silences acknowledged compile warnings introduced by the updated
compiler settings in the CMake update.
2024-04-13 23:48:38 -04:00
PatTheMav 4ecfdb722f plugins: Add Linux-specific plugins for CMake build framework 3.0 2024-04-13 23:48:38 -04:00
PatTheMav eee912b8ba libobs-opengl: Add Linux-specific changes for CMake build framework 3.0 2024-04-13 23:48:38 -04:00
PatTheMav 0af0de26eb libobs: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2024-04-13 23:48:38 -04:00
PatTheMav e77b12820f cmake: Add Linux component to CMake build framework 3.0 2024-04-13 23:48:38 -04:00
PatTheMav 4d6e17c547 deps: Suppress acknowledged compile-time warnings for json11 2024-04-13 23:48:38 -04:00
PatTheMav 2bc4c69ee9 plugins: Fix compile errors introduced by CMake build framework 3.0 2024-04-13 23:48:38 -04:00
Kurt Kartaltepe befce71219 linux-pipewire: Fix future compiler errors
Unused variables and missing switch branches will break in cmake 3.0,
and are breaking for me right now so let's merge this early.
2024-04-13 21:37:17 -04:00