0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

14045 Commits

Author SHA1 Message Date
Ryan Foster
65462fdc1d CI: Update softprops/action-gh-release to v2.0.4
This is one of the few remaining actions in this repo that was still
using node16. Updating will remove the associated warnings.
2024-04-24 13:15:08 -04:00
Warchamp7
93bedd21c8 UI: Reset duration when removing show/hide transition 2024-04-22 16:39:21 -04:00
tt2468
065d4533ee obs-webrtc: Add support for audio-only and video-only outputs
Adds the `whip_output_audio` and `whip_output_video` output kinds,
which selectively advertise only video or only audio support.

To use these types, it is effectively the same as with the AV
version. Just create the output, assign your video or audio encoder,
and you're good.

libobs does not have support for "optional" outputs. With an AV output,
if you only assign a video or audio encoder, start will fail.
2024-04-22 01:04:55 -07:00
Kurt Kartaltepe
cfb10ece79 text-freetype2: Use a shader uniform instead of vertex attributes
We used to swap in a buffer with (0,0,0,1) for all vertex colors for
drop shadows and outlines. However, this vertex buffer couldn't be
uploaded separately from the vertex data in OBS, so we were reuploading
the text vertices every frame.

Instead, let's use a uniform for this uniform data and save 500us (or
more when handles are visible), a significant portion of my test scenes
render time.
2024-04-22 01:01:47 -07: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