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

14217 Commits

Author SHA1 Message Date
Warchamp7
7843a822e0 UI: Adjust font size on macOS 2024-05-14 17:40:01 -04:00
moocowsheep
ce4c99be4e plugins/win-dshow: Add CUDA decoder 2024-05-11 20:29:43 -07:00
moocowsheep
c9f7a3c325 deps/media-playback: Prioritize CUDA decoder 2024-05-11 20:29:43 -07:00
gxalpha
41650479fe UI: Center preview spacing lines
Currently, the spacing lines begin in the middle of the box and then are
their width wide towards one direction. This means that the larger they
are, the more off-center their middle is.
This commit changes them to start at half their width left/top of the
center and end half the width to the right/bottom of the center, putting
the middle in the center.
2024-05-11 23:12:36 -04:00
gxalpha
67e4853b7d UI: Give private spacing helper sources names 2024-05-11 22:13:42 -04:00
gxalpha
03313a6af4 UI: Fix visibility and lock checkbox styling on system theme
In 7931f2acb8 the classes have been
removed in favor of properties, but this styling change appears to have
been reverted by accident, likely by the theming overhaul.
2024-05-11 21:52:42 -04:00
cg2121
b82a49e881 UI: Use OBSSourceLabel for VolControl
The OBSSourceLabel handles renaming of a source, so we don't have
to use the rename signals for volume controls.
2024-05-11 18:18:13 -07:00
cg2121
272a5edbaa UI: Use vector for volume control signals
This cleans up the volume control code by using a vector for
signals.
2024-05-11 18:18:13 -07:00
cg2121
cd918a7f4c UI: Move projector rename signal
This moves the renaming of projectors from OBSBasic to OBSProjector.
2024-05-11 17:51:47 -07:00
cg2121
023d9bd851 UI: Use OBSSourceLabel for item widget labels
This changes the labels for the source tree/visibility item widgets
to use OBSSourceLabel, as it handles the renaming of sources.
2024-05-11 17:35:04 -07:00
tt2468
09be4f9aed obs-webrtc: Only advertise relevant codecs for a or v-only outputs
A video-only output should not advertise any audio codecs.
2024-05-11 20:09:00 -04:00
tt2468
5802077f78 obs-webrtc: Correctly guard HEVC in output using ifdefs
If an output does not support HEVC, it should not advertise it. For
services, however, a service primarily defines the codecs which are
supported for the protocol spec itself/destination platform, so HEVC
can be advertised still.
2024-05-11 20:09:00 -04:00
tt2468
dff302364c obs-webrtc: Fix comment capitalization 2024-05-11 20:09:00 -04:00
Warchamp7
af685be40d UI: Add OS specific theme variables via prefix 2024-05-10 18:39:18 -04:00
derrod
279e9424c0 libobs: Fix obs_parse_avc_header missing high profile parameters 2024-05-10 18:14:27 -04:00
gxalpha
79f680cab6 UI: Use weak_source_expired instead of getting the source 2024-05-10 17:42:28 -04:00
tytan652
c974a40b51 build-aux: Update Flatpak ntv2 module to libajantv2 2024-05-10 16:51:56 -04:00
tytan652
aa3f980603 build-aux: Update Flatpak VPL modules
* Update libvpl to 2.11.0
  * Adds a build option to no longer require ONEVPL_SEARCH_PATH to be set
* Update onevpl-intel-gpu to vpl-gpu-rt 24.2.2
2024-05-10 16:51:56 -04:00
tytan652
03ab26ecac build-aux: Update Flatpak modules
* Update SVT-AV1 to 2.0.0
* Update aom to 3.9.0
  * Freedesktop SDK already provides it, so the module is disabled
* Update FFmpeg 7.0
* Update LuaJIT 5790d25397
* Update libdatachannel to 0.21.0
* Update Asio to 1.30.2
2024-05-10 16:51:56 -04:00
tytan652
92822311a8 UI: Improve and update app CMake 3 metainfo file
CMake 2 path have a newer version of this file.

See the following commits for metainfo change details:
- 853ae5ea6e
- 904fe87f83
- 0cc6068ed4
2024-05-10 16:21:36 -04:00
Ryan Foster
2ea39b11e7 CI: Update deps to 2024-05-08 release
Notable changes:
 * deps.ffmpeg: Update libpng to 1.6.43
 * deps.ffmpeg: Update opus to 1.5.2
 * deps.ffmpeg: Update libvpx to v1.14.0
 * deps.ffmpeg: Update SVT-AV1 to 2.0.0
 * deps.ffmpeg: Update aom to 3.9.0
 * deps.ffmpeg: Update libdatachannel to v0.21.0
 * deps.ffmpeg: Update AMF to 1.4.33
 * deps.ffmpeg: Update FFmpeg to 7.0
 * deps.macos: Update LuaJIT to 2.1 5790d25397
 * deps.macos: Update libpng to 1.6.43
 * deps.macos: Update Asio to 1.30.2
 * deps.macos: Replace ntv2 with libajantv2
 * deps.macos: Update Sparkle to 2.6.2
 * deps.windows: Update curl to 8.7.1
 * deps.windows: Update LuaJIT to 2.1 5790d25397
 * deps.windows: Update Asio to 1.30.2
 * deps.windows: Update Zstandard to 1.5.6
 * deps.windows: Update VPL to v2.10.2
 * deps.windows: Replace ntv2 with libajantv2
 * deps.windows: Add WIL headers
 * deps.qt: Update Qt6 to 6.6.3 for Windows
 * deps.qt: Update Qt6 to 6.6.3 for macOS
2024-05-10 16:07:36 -04:00
tytan652
dfef65c30f linux-pipewire: Unify ScreenCast sources as Screen Capture
Allow to select both main type of ScreenCast (monitor, window)
with only one source type rather than adding a source type per
ScreenCast type.

This change is made as a new Screen Capture source type which
obsoletes the use of the previous Screen Capture (monitor-only)
and Window Capture.
2024-05-09 14:55:18 -03:00
pkv
5b2e2a9c68 libobs/media-io: Fix media-remux channel layout for 5 channels
FFmpeg has 5.0 as default layout for 5 channels.
But obs-studio uses 4.1. This is a fix when remuxing.

Signed-off-by: pkv <pkv@obsproject.com>
2024-05-09 10:27:20 -04:00
pkv
06e2b31001 obs-ffmpeg: Fix 7.1 ALAC encoding
Commit [1] added ALAC & PCM support.
But 7.1 ALAC encoding fails.
This fixes the issue by assigning the correct 7.1 layout supported by
FFmpeg ALAC encoder (7.1(wide)).

[1] 3ae98511d0

Signed-off-by: pkv <pkv@obsproject.com>
2024-05-09 10:27:20 -04:00
MrMahgu
130be55973 libobs-winrt: Remove interop code now provided by Windows SDK
Remove the custom declarations of the external functions
CreateDirect3D11DeviceFromDXGIDevice and
CreateDirect3D11SurfaceFromDXGISurface, as well as the
IDirect3DDxgiInterfaceAccess interface.
2024-05-09 10:01:36 -04:00
tytan652
5f1d60b1a0 build-aux: Disable DeckLink in the Flatpak
Since the Flatpak became part of the repo, nothing has changed on
BlackMagic side.

DeckLink libraries are still not redistributable and without stable
download link so even extra-data is not usable.

This makes enabling DeckLink feature in the Flatpak impossible without
involving customization on the end-user side which is not how Flatpak is
designed for.
2024-05-08 18:04:14 -04:00
tt2468
5b51d202b5 obs-webrtc: Remove duplicate initialize calls
`obs_output_initialize_encoders()` and can_begin_data_capture are
already being called in the `Start()` function, so these duplicate
calls serve no function.

I'm assuming they were introduced accidentally during a previous
refactor.
2024-05-07 22:40:16 -07:00
Ruwen Hahn
e92accf136 rtmp-services: Populate Twitch specific multitrack video settings 2024-05-07 21:56:53 -04:00
Ruwen Hahn
d0b35261af rtmp-services: Add Multitrack Video disclaimer 2024-05-07 21:56:53 -04:00
Ruwen Hahn
103ef76e5e rtmp-services: Allow loading Multitrack Video config from JSON
Add support for loading Multitrack Video configuration data from
services.json.
2024-05-07 21:56:53 -04:00
Ruwen Hahn
1959f6852e rtmp-services: Always copy service info to settings 2024-05-07 21:56:53 -04:00
Ruwen Hahn
4029ff2ac1 rtmp-services: Extract common json->settings logic 2024-05-07 21:56:53 -04:00
tytan652
0fc4eb8c96 UI: Restore MuteCheckBox indeterminate state icon in Yami 2024-05-06 17:36:57 -03:00
gxalpha
fad6f43608 UI: Set default recording format to Fragmented MOV on macOS
In 22205d582c, the change to default to
Fragmented MP4/MOV on all platforms was reverted due to compatibility
issues with the default video player on Windows.
On macOS however, the default player (QuickTime Player) works fine with
fragmented formats, and instead is unable to play MKV files (which have
always been the default format for OBS). This change makes videos with
the default settings playable on macOS with the default player.
2024-05-04 17:20:05 -07:00
Warchamp7
a3876a41d6 UI: Adjust styling of QTabBar tabs 2024-05-04 17:10:26 -07:00
Warchamp7
8721bf6107 UI: Update media source time labels while seeking 2024-05-04 16:37:17 -07:00
Warchamp7
c54f4371d6 UI: Adjust preview scrolling clamp values 2024-05-04 16:17:12 -07:00
tytan652
832ac4bfa8 linux-capture: Rename Screen Capture as Display Capture 2024-05-04 16:15:38 -07:00
Aleks Todorov
bad7b78fe4 UI: Fix text stacking in paused indicator
Currently, the paused indicator is never undone, instead relying on the
update timer to eventually erase it away when the recording duration is
updated. If the user spams pause fast enough, the indicator will stack
several times before it is erased - especially if the unpaused branch in
the update timer never has a chance to run.

Instead of mutating the recordTime text on pause and requiring an undo,
extract the UI update to a separate function which computes the full
text based on the current state. Call this function when pause is
toggled, thereby forcing an accurate UI update that either does or does
not incude the paused text.

An added benefit is that the paused indicator now disappears
immediately.
2024-05-04 13:39:34 -07:00
Aleks Todorov
ec31c7e5bf UI: Set recording paused before anything else
When this call was first introduced in eab10d48b2, it was at top of this
block, albeit after the calls to `pause`. Over time it has slowly
shifted lower and lower in the block.

In reality, it should be the first thing in the block to ensure that
further calls have accurate information about the pause state to update
themselves.
2024-05-04 13:39:34 -07:00
John Bradley
627308bd53 obs-webrtc: Add null terminator to codec array
This fixes an issue where, when the MAX_CODECS length was equal to the
amount of supported codecs (3), it would leave the list without a null
terminator and crash when iterating over the elements.
2024-05-03 22:52:30 -07:00
tt2468
fa482b6b49 libobs: Fix I40A plane height calculation for fourth plane
The commit 2fc13540 introduced a typo bug causing the defined height of
the fourth plane in I40A to be 0, instead of the original frame height.

This changes a 0 to a 3, in order to populate that value correctly.
2024-05-03 21:05:13 -07:00
tytan652
9fa23c8cca obs-scripting: Remove Python version upper limit on Linux
Also removes it for FreeBSD and OpenBSD
2024-05-03 15:31:20 -04:00
tt2468
d584aed501 libobs: Add obs_encoder_parent_video() method
Allows parent video object of an encoder with an FPS divisor to be
fetched.
2024-05-03 10:33:46 -07:00
Ruwen Hahn
64caf0401d obs-outputs: Add video_id_t value for 0
This will be initialized to 0 in various cases, so let's make that
a valid enum value (even if it's not valid in rtmp?)
2024-05-03 13:06:50 -04:00
John Bradley
fab8f0f80e obs-outputs: Add eRTMP/eFLV support for FLV 2024-05-03 13:06:50 -04:00
John Bradley
c5ef7beda8 obs-outputs: Add initial eRTMP multitrack implementation 2024-05-03 13:06:50 -04:00
Ruwen Hahn
7f82426dc4 obs-outputs: Always define CODEC_HEVC 2024-05-03 13:06:50 -04:00
Kurt Kartaltepe
01b61fafbf obs-ffmpeg: Release encode texture early
During high graphics thread pressure it can take a significant time to
acquire the graphics lock. This change releases the OpenGL texture after
rendering to avoid the 2nd lock after sending the frame to FFmpeg. This
improves 99%-tile/100%-tile and median encode in a near encoder overload
scenario, and modestly raises the ceiling before encoder overload in my
test scene.

Master:
min=0 ms, median=4.29 ms, max=33.072 ms, 99th percentile=8.877 ms
min=0 ms, median=4.438 ms, max=77.157 ms, 99th percentile=9.853 ms
min=0 ms, median=4.527 ms, max=57.292 ms, 99th percentile=9.282 ms

This commit:
min=0.97 ms, median=3.009 ms, max=13.215 ms, 99th percentile=5.899 ms
min=1.181 ms, median=2.91 ms, max=9.854 ms, 99th percentile=5.56 ms
min=0.461 ms, median=3.013 ms, max=10.693 ms, 99th percentile=5.871 ms
2024-05-02 18:15:01 -04:00
Ryan Foster
ad63efd4b1 CI: Fix Windows Signing action commit hash 2024-05-02 17:24:16 -04:00