Commit Graph
10394 Commits
Author SHA1 Message Date
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 27.2.0-beta2 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
Georges Basile Stavracas Neto efb3220494 libobs-opengl: Remove unused function argument
The 'display' variable is unused, and the function is static,
so we don't need to carry the parameter.
2021-12-30 18:41:04 -03:00
Georges Basile Stavracas Neto 36f06e07c6 CI: Split Flatpak beta and stable branches
We currently publish the same build from the same branch
to Flathub. However, soon we'll need to build the Flatpak
manifest in different branches, and publish them in different
repositories.

Prepare for that by splitting the publish step in two: one
for Flathub, and another for Flathub Beta. Do that using
a matrix strategy.

Skip building and publishing stable releases when it's a beta
or RC release by setting an output variable in the first job.
2021-12-30 17:05:58 -03:00
Georges Basile Stavracas Neto 2c7bc286e6 CI: Trivial cleanup
Remove quotes from the step name.
2021-12-30 17:05:58 -03:00
tytan652 bce1d6970a UI: Fix build with YT integration without browser 2021-12-30 11:36:33 +01:00
Matt Gajownik 7c50621e15 obs-browser: Update version to 2.17.4 27.2.0-beta1 2021-12-29 16:55:23 +11:00
tt2468 47397ce527 UI: Add obs_frontend_open_source_interaction()
Adds a frontend api call to open the interact dialog of a source,
just like the `_properties` and `_filters` functions.
2021-12-28 21:44:35 -08:00
tt2468 466ba5ae29 docs: Fix names of filter/properties functions 2021-12-28 16:49:00 -08:00
jp9000 213712dfe5 UI: Fix Copy/Paste not including blend mode 2021-12-28 09:12:51 -08:00
jp9000 2364dfd0ef UI: Remove unnecessary shared_ptr allocations
Not sure why these were separate allocations -- the data will be
preserved just fine when copying the structure without being separate
allocations
2021-12-28 08:34:40 -08:00
jp9000 0c4b3816de UI: Add alt-key support to Docks menu 2021-12-28 06:42:11 -08:00
Richard Stanway af6844f5c2 obs-outputs: Only log SO_SNDBUF on RTMP socket
From Windows 7 onwards, dynamic send buffering is enabled. By setting
SO_SNDBUF explicitly, we actually disabled the dynamic send buffering
feature which results in reduced throughput. Thankfully this did not
affect the majority of users since the default send buffer is usually
already 64k.

This commit replaces the setting of SO_SNDBUF with log output showing
the current value of SO_SNDBUF at stream start and end. This will aid in
debugging throughput issues caused by a buffer that isn't big enough,
perhaps as a result of the user disabling dynamic send buffering
system-wide.
2021-12-27 14:29:43 -08:00
jp9000 1655ebf18f libobs, UI: Add support for beta builds
Allows the ability to specify beta builds in addition to release
candidate builds
2021-12-27 10:01:07 -08:00
Richard Stanway 5be6681687 libobs: Check memory allocation in Windows crash handler
If we're crashing due to a low memory condition, it's dangerous to
try to allocate more memory without checking for success.
2021-12-26 17:48:54 +01:00
Richard Stanway 7d64e9d598 libobs: Use size_t for obs_encoder_get_frame_size 2021-12-26 17:32:00 +01:00
jp9000 8212cedf03 Revert "libobs, docs: Add function to get source version"
This reverts commit 1a7a10048c.
2021-12-25 17:10:45 -08:00
jp9000 006fdd2be5 Revert "obs-filters: Remove duplicate color correction code"
This reverts commit 6940495e79.
2021-12-25 17:10:44 -08:00
jp9000 c16f27d269 Revert "obs-filters: Remove duplicate code from color key filter"
This reverts commit a4045ed31a.
2021-12-25 17:10:43 -08:00
jp9000 f4317888de Revert "obs-filters: Remove duplicate code from chroma key filter"
This reverts commit 311330628d.
2021-12-25 17:10:41 -08:00
Matt Gajownik babc07fa5c obs-browser: Include atomic for browser source destroy
Fixes build issues on older CEF versions (especially on Linux)
2021-12-25 08:52:20 +11:00
gxalpha a92b671ed1 UI: Hold refs to existing sources during remove scene undo 2021-12-24 09:45:02 -08:00