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

10414 Commits

Author SHA1 Message Date
Cody Jung
35b9c76495 UI: Fix flash when starting minimized
Rather than showing the main window, then hiding it again when the
tray icon initialization happens, just don't show the main window.

When deciding whether to show the window, we need to know whether
the tray icon is available or not - if it's not and we don't show
the window, there would be no way to restore OBS.
2022-01-07 20:15:03 -08:00
Matt Gajownik
ff42da373b UI: Fix hotkey JSON error for Advanced Replay Buffer
This matches the Simple output Replay Buffer hotkey code.
2022-01-08 13:34:40 +11:00
Ryan Foster
a708eda753 CI: Update Windows obs-deps package to 2022-01-01
This aligns CI Windows builds with recently shipped deps to support AV1
and RIST as well as providing other updates.

 * Update FFmpeg from 4.2.4 to 4.4.1
 * Update nv-codec-headers from 9.0.18.2 to 11.1.5.0
 * Add libaom and SVT-AV1 support (64-bit only)
 * Add RIST support
 * Enable multithreading for libvpx obs-deps builds
2022-01-08 13:19:00 +11:00
Ryan Foster
5eca57eb7e CI: Update macOS obs-deps package to 2022-01-01
Fix RIST on macOS. Patch libaom.
2022-01-08 13:19:00 +11:00
gxalpha
0416c71749 UI: Update context bar when exiting properties dialog 2022-01-08 12:28:18 +11:00
Matt Gajownik
a1e0d2f538 CI: Use GitHub mirror for PipeWire repository 2022-01-08 12:12:36 +11:00
univrsal
aebd261ded UI: Disable WA_PaintOnScreen for projectors
Removing this attribute fixes #3582 and allows projector windows to be resized
under KDE.
2022-01-07 15:40:05 -08:00
Tatsuyuki Ishi
b684e01aad linux-capture: Disable strict binding for NVIDIA drivers
NVIDIA drivers appears to have a bug where binding would be excessively
slow. Apply a workaround similar to what [KWin] does to prevent the issue.

Also performs a refactor so that the code paths with and without the
workaround can be shared.

[KWin]: 4f2c3a00c4/src/libkwineffects/kwinglplatform.cpp

Fixes: 316f858c6 ("linux-capture: Fix capturing on software rasterization setups")
Closes: https://github.com/obsproject/obs-studio/issues/5685

Tested-By: univrsal <uni@vrsal.xyz>
2022-01-07 15:21:09 -08:00
Clayton Groeneveld
066b281db8 UI: Ignore resizing item when it is locked
Fixes https://github.com/obsproject/obs-studio/issues/5724
2022-01-07 15:18:59 -08:00
jpark37
83c89d06b5 libobs-d3d11: Log display color space info
Add DXGI_COLOR_SPACE_TYPE and SDR white level when available for HDR
characteristics.

GetPathInfo/IsInternalVideoOutput functions were copied from MS docs.
2022-01-07 15:18:16 -08:00
Norihiro Kamae
e7cfaa0def UI: Fix label offset on projector view
Labels on 18-scene multiview were skewed. This commit adjusted the
location of the labels.
2022-01-07 15:17:20 -08:00
Matt Gajownik
5defdaf1db obs-vst: Fix resizing, always use source name in window title
425935a - Fix VST plug-ins disappearing when resized
2e90d23 - Correctly use source name (not target) for window title
2022-01-07 23:48:06 +11:00
Matt Gajownik
e00195ad6f UI: Don't recreate entire Hotkey Settings tab
This replaces the programmatic generation of the hotkeys tab with XML.
Also fixes a memory leak. Reuses concepts from LoadAudioSources().
2022-01-05 23:56:34 -08:00
Matt Gajownik
a46f56a3e9 UI: Fix taskbar icon visibility on light backgrounds
When running Windows 10 or 11 in light mode, the pause icon especially
was hard to see. This adds a border to both icons to improve visiblity.
Additionally, the active icon was a little too large.
2022-01-05 21:13:19 +11:00
Cody Jung
8929798d4d UI: Immediately apply tray icon change on Apply
Rather than waiting until the user chooses OK or Cancel to update the
system tray icon status, update it when the user chooses Apply.
2022-01-05 20:53:17 +11:00
tytan652
183a0a4d0e flatpak: Use same commit hash for LuaJIT as macOS 2022-01-05 20:02:19 +11:00
jp9000
dfaccd1e3a obs-ffmpeg: Fix av1 encoding with fractional framerates
Just use util_mul_div64 instead of using av_rescale_q_rnd
2022-01-04 22:48:10 -08:00
Matt Gajownik
65b4ba7939 UI: Fix compile error in UpdateEditMenu from rebase 2022-01-05 17:12:55 +11:00
gxalpha
5b87a842ee UI: Correctly enable edit menu items with multiple sources 2022-01-04 21:39:57 -08:00
gxalpha
648b47a6f5 UI: Reenable copy/paste transform 2022-01-04 21:39:57 -08:00
jp9000
f295bd9968 Revert "UI: Add checks for overwrite setting to replay buffer"
This reverts commit 02f3495b72.

Multiple issues have come up with this commit. One issue is that
suddenly replays are overwriting themselves despite the option being
disabled. Second issue is that slashes to separate files into
subdirectories no longer work properly with replay buffers.

I'm just reverting it. I do not care enough about this feature to try to
fix it or wait on a fix. If someone wants to fix it they can create a
new PR for it.
2022-01-04 20:42:58 -08:00
jp9000
a5a8a7c32f libobs: Stop all source processing on destroy
Stops all video/audio IO when a source enters the destroy process.
Prevents any internal callbacks from being triggered and improves
performance.
2022-01-04 13:35:37 -08:00
jp9000
7fa07afd21 libobs: Call destroy signal after waiting
No real reason to have it above. Any other sources will still wait
anyway, so just makes things a bit more consistent.
2022-01-04 13:35:37 -08:00
Matt Gajownik
da5fc10a8b obs-browser: Update version to 2.17.5
* Get and log Chromium build version
* Fix debug builds for CEF >= 4430 on Windows
* Fix unused-parameter warning
2022-01-04 22:46:23 +11:00
gxalpha
608219ad6b UI: Fix "Null 'source' parameter" warning 2022-01-04 02:08:18 -08:00
Norihiro Kamae
2fc83f9408 UI: Do not localize timestamp in log file
Millisecond time in the log was added in 36ad777b8 but the millisecond
was not always added just after the second digits depending on locale
settings. To make consistency in the log file, `%T` is specified for
`strtime` instead of `%X` so that the time format is not localized.
2022-01-04 02:02:59 -08:00
gxalpha
9f15a58483 UI: Correctly disable "Paste Duplicate" if required 2022-01-04 02:01:28 -08:00
gxalpha
8298f040fe UI: Add Rosetta Detection
Adds a check that detects if OBS is running on Rosetta on macOS and logs
the result.
2022-01-04 01:57:02 -08:00
gxalpha
c60ec74424 UI: Remove unneeded include 2022-01-04 01:54:38 -08:00
gxalpha
3fb2e27825 docs: Fix frontend API docs for preview_scene functions 2022-01-04 01:53:42 -08:00
jp9000
47d8f2e497 libobs: Remove all callbacks on source destroy
Removes all callbacks in use on sources right when a source is about to
be destroyed.

Fixes a crash where callbacks would still be executed while in a
destroyed state (particularly sidechain filters). Could also just mark
the source as being in a destroyed state and not accept anymore
obs_source_output_[audio/video] calls.
2022-01-04 01:45:49 -08:00
tytan652
02409c46fa flatpak: Add SVT-AV1 support 2022-01-02 16:21:52 -03:00
tytan652
6fdfc88467 flatpak: Add libaom support
It also add FFmpeg libaom patches from obs-deps.
2022-01-02 16:21:52 -03:00
tytan652
9167a7177d flatpak: Add RIST support to FFmpeg
Mbed TLS module is moved before librist to allow the latter to be built
with Mbed TLS.

It also add FFmpeg librist patches from obs-deps.
2022-01-02 16:21:52 -03:00
tytan652
f74c37043e flatpak: Update FFmpeg to 4.4.1
It also apply obs-deps FFmpeg patches.
And cherry-pick the following commit to fix issues with VAAPI:

avcodec/vaapi_encode: Fix segfault upon closing uninitialized encoder
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d1b47f3

nv-codec-headers are also updated.

Note: The actual used commit hash is two commits after n4.4.1 tag.
2022-01-02 16:21:52 -03:00
jp9000
9bd9513e94 Revert "libobs-opengl: Use PBO in device_stage_texture on macOS"
This reverts commit 76f7a0c1c0.

Unfortunately, the performance issue is still present with PBOs even on
Monterey. During the 27.2 beta, macOS users even on Monterey have been
reporting a performance regression, and when the profiler data for those
users was looked at, major performance loss was noted in the
stage_output_texture function. This commit was the only probable cause.
2022-01-01 18:38:33 -08:00
Matt Gajownik
a324584c20 CI: Trigger multiplatform builds on release branches 2022-01-02 13:20:25 +11:00
tt2468
5d87d43e8e UI: Increment showing in filters dialog
Increment the show reference of a source when the filters dialog is
open, just like the properties dialog.
2021-12-31 17:36:25 -08:00
wangshaohui
bb59dfd060 libobs: Move position for calling execute_graphics_tasks
The new order is as below:
[message pump]
output_frame
render_displays
execute_graphics_tasks
2021-12-31 17:34:20 -08:00
Exeldro
1dd96124e3 UI: Fix vertical grayscale meters when volume is muted 2021-12-30 22:32:24 -08:00
jp9000
2f13d92d25 libobs: Fix template errors on non-MS compilers
Because apparently Microsoft's compilers are bad at following language
specs.
2021-12-30 22:02:11 -08:00
jp9000
52cc1d533e libobs, UI: Fix cpp auto-release assignment from OBSRefs
The *AutoRelease helpers should not take references from OBSRef objects.
Instead, make an OBSRefAutoRelease base class, and OBSRef a subclass of
that to allow moves, and then perform moves from those objects.

This fixes an issue where *AutoRelease OBSRef objects would cause an
unintended double release of objects after having been assigned values
from non-*AutoRelease OBSRef objects.
2021-12-30 21:19:34 -08:00
Richard Stanway
7f2dfd53a9 libobs-opengl: Use correct size for PIXELFORMATDESCRIPTOR
Issue detected by PVS Studio.
2021-12-30 22:53:22 +01:00
Georges Basile Stavracas Neto
a200001d2a linux-capture: Standardize gs_color_format variable names
Name them all to 'gs_format'. We need to be a bit strict with
naming here, since we're dealing with 3 format namespaces (OBS,
PipeWire, and DRM).
2021-12-30 18:41:04 -03:00
Georges Basile Stavracas Neto
64bb5a0974 linux-capture: Unify format lookups
Merge all format lookup functions into a single one, with all
out parameters optional.
2021-12-30 18:41:04 -03:00
Georges Basile Stavracas Neto
f0026142f0 linux-capture: Move supported formats into a static table
We've been listing the supported formats in place whenever we
needed so far, but now we're doing it in too many different
places, which is getting confusing.

Move all these sparsely written rules into one single table
of formats, and adjust the code to lookup data on it.
2021-12-30 18:41:04 -03:00
Georges Basile Stavracas Neto
d876e735e0 linux-capture: Split array into two variables
Split the 'f' array in two named variables, and move one of
these variables to the appropriate context where its used.

No functional changes.
2021-12-30 18:41:04 -03:00
Georges Basile Stavracas Neto
52a3a8817d linux-capture: Add preferred value out of the loop
Choice pods are built with the first element being the
preferred choice, followed by a list of possible choices.

We add the preferred choice inside the loop, which makes
the code slightly harder to follow.

Factor this out of the loop, into a separate step.
2021-12-30 18:41:04 -03:00
Georges Basile Stavracas Neto
37ba341d3a linux-capture: Rename a variable
'modifierless' is a bit non-descriptive given the lack of a
verb in the variable name. Rename it to 'use_modifiers', and
swap the logic.
2021-12-30 18:41:04 -03:00
Georges Basile Stavracas Neto
e1f01554f7 libobs-opengl: Swap order of out parameters
The usual pattern of function signature is "array / n_elements",
but query_dmabuf_formats() does not follow it. Apply this order
to query_dmabuf_formats().
2021-12-30 18:41:04 -03:00