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

12075 Commits

Author SHA1 Message Date
Kurt Kartaltepe
f610bcff38 libobs-opengl: Fixup dmabuf queries on X11
Previously we passed the wrong display and formats/modifiers could not
be queried. This prevented pipewire sources from negotiating texture
sharing on x11.

(cherry picked from commit 4216991413)
2023-01-31 16:08:40 -08:00
Richard Stanway
7fb8b7dd75 obs-filters: Improve NVIDIA effects SDK version checks
- Don't repeatedly query version at runtime in case a user installs the
  SDK while OBS is running
- Restore default DLL search directory
- Don't show outdated SDK message if the SDK is not found
- Protect minimum version macro with brackets

(cherry picked from commit 5a4283816d)
2023-01-31 16:08:40 -08:00
Jan Beich
c24c137fa6 libobs/graphics: Enable DMABUF on FreeBSD and DragonFly
Required under Wayland (wlrobs) on FreeBSD and DragonFly. DMABUF was
already partially exposed after c50c625555.

(cherry picked from commit c082c4a74d)
2023-01-31 16:08:40 -08:00
tt2468
fb371a340b libobs: Fix loading of custom_size for empty scenes
Previously, `custom_size` was checked at the end of the `scene_load`
function. If the scene contained no "items" array, the `custom_scene`
loading code would never be run.

This moves the `custom_size` code above the return statement.

(cherry picked from commit 018ce16703)
2023-01-31 16:08:40 -08:00
Ryan Foster
58f50a8bbe CI: Revert Qt to 6.3.1 on Windows
(cherry picked from commit af59a903e1)
2023-01-31 16:08:40 -08:00
tt2468
25fba67fe8 UI: Remove extra encoder function calls
The audio_t and video_t objects are already applied in the parent
functions already.

(cherry picked from commit 5a68d3aaf5)
2023-01-31 16:08:40 -08:00
tt2468
a25a4c20b4 UI: Fix logging of output ID when start fails + code cleanup
Previously, an output that does not implement `info.get_output_type`
would result in these log messages saying `(null)`. This uses the actual
ID directly from the output itself instead.

Also removes two extra calls to `obs_encoder_set_video()` as they are
redundant and unnecessary.

(cherry picked from commit 8f0e5a72d6)
2023-01-31 16:08:40 -08:00
tt2468
aa1f7b275b libobs: Fix logging of remaining views
OBS has been logging `1 views remain at shutdown` when in reality there
are not technically any views remaining. When views are removed, the
view itself is destroyed immediately, but the mix remains, to be
garbage collected by the graphics thread.

In this case, the view has already been removed, but the graphics
thread has not run an interation and cleaned up the mix, so this
log message appears.

Fixes the issue by checking if a mix actually has an assigned view,
instead of blindly logging existing mixes.

(cherry picked from commit 25df3e183e)
2023-01-31 16:08:40 -08:00
tt2468
2fcac0e363 libobs: Prevent encoders from initializing/starting if no media is set
This fixes a case of undefined behavior, where encoders can try to init
or start without actually having any video_t or audio_t object
assigned.

(cherry picked from commit c69e40734d)
2023-01-31 16:08:40 -08:00
tt2468
7d579b5a07 libobs: Remove unused internal encoder util function
Was previously introduced in a0f679bc40,
but has since been made unused.

(cherry picked from commit 7e30d3f8a2)
2023-01-31 16:08:40 -08:00
tt2468
9ead538009 libobs: Allow sending NULL to obs_encoder_set_video/audio()
There is currently no way to clear a video_t or audio_t object from an
encoder once applied. `audio_t`/`video_t` objects can be destructed at
any time, and it is dangerous to prevent these object references from
even being cleared.

This does not fix the issue where destroying an audio/video object does
not clear the reference from all subscribed encoders.

(cherry picked from commit eb0d9dc5d2)
2023-01-31 16:08:40 -08:00
tt2468
0ce729ea78 libobs: Protect some encoder functions from being used while active
Protect `obs_encoder_set_video()` and `obs_encoder_set_audio()` from
being used if the encoder is active. Changing these values while active
is undefined behavior.

(cherry picked from commit dfc20bbb31)
2023-01-31 16:08:40 -08:00
PatTheMav
00b4c9c88a mac-virtualcam: Fix memory access issues for shared IOSurfaces
The DAL plugin-based virtualcamera shares data between OBS and the
plugin using an IOSurface. IOSurface locks are necessary to ensure
race conditions between data generation (OBS side) and consumption
(virtual camera side) and also that an IOSurface is not offloaded to
GPU memory when it is indeed needed in CPU memory.

Also moves the invalidation of the NSMachPort for the frames to after
the IOSurface data has been converted into a pixelbuffer and added to
the frame queue of the virtual camera, as an early invalidation will
cut off access to the pixel data shared with the DAL plugin.

(cherry picked from commit 447adfbe38)
2023-01-31 16:08:40 -08:00
tt2468
8aa806adf8 libobs: Remove extra space in output reconnect log message
It has been bothering me to no end.

(cherry picked from commit 78d31322b2)
2023-01-31 16:08:40 -08:00
tt2468
d9a5aaafc9 docs: Document a few missing obs_output_t function calls
- `obs_weak_output_references_output`
- `obs_output_get_id`
- `obs_output_output_caption_text[1/2]`

(cherry picked from commit 24e9f82f87)
2023-01-31 16:08:40 -08:00
Exeldro
a5808c9444 libobs: Fix stopping transitions that are not active
(cherry picked from commit eb35b07f44)
2023-01-31 16:08:40 -08:00
jpark37
7d81905d4b win-capture: Show Force SDR setting on Windows 10
Was using wrong bool for visibility.

(cherry picked from commit fb58f60ae4)
2023-01-31 16:08:40 -08:00
Kurt Kartaltepe
0a7228f1da libobs-opengl: Drop gl pointers on device_leave_context
Mac was already dropping a most of these when leaving contexts,
this patch brings the same drops to linux and also drops vertex/index
buffers that were noticed as leaking across contexts and resulting in
invalid bindings by later draws. Especially with the new spacing labels.

(cherry picked from commit 599b017881)
2023-01-31 16:08:40 -08:00
derrod
a166ca6b4f updater: Fix portable OBS not being relaunched correctly
(cherry picked from commit 143877c8ff)
2023-01-31 16:08:40 -08:00
Norihiro Kamae
375da1a036 libobs/util: Fix text-lookup not always case-insensitive
Convert `lookup` to upper-case before creating the tree so that later
code does not need to consider the case-insensitivity.
When converting to upper-case, use `toupper` instead of adding 0x20 so
that the behavior is consistent with `astrcmpi_n`.

(cherry picked from commit 1805712f46)
2023-01-31 16:08:40 -08:00
gxalpha
4e4a803b3b UI: Reintroduce spacing to YouTube dialog buttons
(cherry picked from commit 2133f47658)
2023-01-31 16:08:40 -08:00
Chris (Flaeri)
ab46d09f17 obs-ffmpeg: Remove forced x264 and aac for RTMP
Remove code forcing x264 and ffmpeg aac encoder. People using custom
ffmpeg output should be able to use other video and audio encoders when
streaming with RTMP, given its h264 or aac.

(cherry picked from commit 1166e504bb)
2023-01-31 16:08:40 -08:00
kevin.dww
37dd362825 rtmp-services: update Mildom servers
(cherry picked from commit 321776efa3)
2023-01-31 16:08:40 -08:00
derrod
807c0c386d updater: Deduplicate Downloads 2023-01-12 11:37:26 -08:00
pkv
ace518804b obs-filters: disable NVIDIA FX audio model loading when SDK is not installed
This fixes a bug reported by R1ch internally.
If someone uses NVIDIA noise suppression filter and later uninstalls
the SDK, there can be a crash because the filter tries to load the
models.

Signed-off-by: pkv <pkv@obsproject.com>
2023-01-10 13:32:29 -08:00
Translation Updater
783bd52197 Update translations from Crowdin 2023-01-08 04:10:37 +00:00
Richard Stanway
930c65e7c3 UI: Prevent negative "disk full in" calculation when no output
If the output is paused the average bitrate will be zero, resulting in
infinite time until disk is full and int overflows. Similarly, if no data
has been collected yet, the result will be NaN and undefined behavior.
2023-01-07 15:49:13 -08:00
columbarius
d8b7906954 linux-pipewire: Check format availablity against DRM only for dmabufs
Whe using a software renderer there will be no formats available for
using with dmabufs. We should only consider those formats wrt. to
modifiers and as such move this check after adding general support for
that format.

fixes #7985
2023-01-07 15:42:34 -08:00
Kurt Kartaltepe
124ebedbdb UI: Disable qt5ct when compiled with qt6
Qt is not smart enough to disable qt5 platform plugins when users
blindly ask for them, which causes users to be unable to start OBS.
Instead lets kindly disable broken platforms on their behalf.
2023-01-07 15:17:05 -08:00
CodeYan01
f9fd1c0967 docs: Clarify enum functions return value 2023-01-07 15:08:35 -08:00
skeletonbow
70460564d1 docs: Add script_description to scripting
Added missing documentation for script_description function.
2023-01-07 15:04:26 -08:00
Richard Stanway
b51773b97b rtmp-services: Specify RTMP_SERVICES_FORMAT_VERSION in package.json 2023-01-06 21:16:21 +01:00
Norihiro Kamae
00b4d19e77 CI: Revise repository conditions to validate JSON schema of services
This commit blocks schema validation every day in repositories other
than `obsproject`. Also enables service_check if the owner triggers it
manually.
2023-01-06 21:14:50 +01:00
jp9000
301fb48449 libobs: Update version to 29.0.0 2023-01-06 09:42:38 -08:00
Richard Stanway
20d4bab77a win-capture: Always reset timeout when searching for target display
If the display wasn't found, the timer was not reset, causing the code
to execute on every single tick, stalling the graphics thread and using
excessive CPU.
2023-01-04 23:20:41 -08:00
Matt Gajownik
08a04d2cf0 UI: Lock volume meter sliders to LTR
Fixes #5447 where sliders would work in reverse.
2023-01-03 18:24:41 -05:00
tytan652
852d53723c UI: Use stream encoder when resetting encoders
It actually use the recording encoder while restoring the stream encoder.
2023-01-03 17:34:44 -05:00
pkv
85b714706c obs-filters: Log NVIDIA Effects version only if lib is found
Put the version logging behind a condition of having found a library.

Signed-off-by: pkv <pkv@obsproject.com>
2023-01-03 16:51:39 -05:00
tytan652
409cfa4335 CI: Use Flatpak build-bundle option
This option allows to build the Flatpak without generating a
bundle (artifact).

This allows to remove the requirement of the "Seeking Testers" label to
just test build the Flatpak.
2023-01-02 09:21:33 -03:00
tytan652
34e159425c CI: Update Flatpak Actions 2023-01-02 09:21:33 -03:00
Ryan Foster
88ea0bbb56 Revert "libobs-d3d11: Default to Intel IGPU on IGPU+DGPU systems"
This reverts commit c83eaaa51c.
2022-12-30 21:14:15 -08:00
Ryan Foster
19abcbcd3c Revert "libobs-d3d11: Make sure libobs knows the new adapter index"
This reverts commit e62759a3fa.
2022-12-30 21:14:15 -08:00
Ryan Foster
8dde4bab1e Revert "libobs: Fix adapter index not getting applied to resets"
This reverts commit 02d20e9f36.
2022-12-30 21:14:15 -08:00
Kurt Kartaltepe
1b8a695571 UI: Restrict GNOME wayland override
Some wayland compositors exclusively use xwayland such as gamescope.
This allows us to fallback to the platform determined by Qt, which will
detect these exotic compositors and handle them correctly when not
overidden by this envvar.

Qt preserves this undesired behavior until 6.3. With ubuntu 22 on 6.2
this workaround needs to be preserved.

fixes #6386
2022-12-23 10:00:03 -03:00
jp9000
122e864c38 obs-ffmpeg, obs-qsv11: Ensure adapter order in encoder tests
On systems with multiple graphics adapters, one card can be configured
as power saving, and another card can be configured as performance.
Sometimes, OBS and the encoder test subprocesses will not be configured
the same way, so it's necessary to provide adapter order to the encoder
test subprocesses.

This change ensures the adapter order by passing the LUIDs to the test
subprocesses. The adapter indexes will then be updated accordingly.
2022-12-19 12:17:30 -08:00
jp9000
2396c4a01c obs-ffmpeg: Remove EnumOutputs from encoder tests
This call will fail on multi-adapter systems, and isn't used anyway, so
just remove it. Not sure why it was called in the first place; pretty
sure it was unintended and was likely just copied over from the D3D11
subsystem code.
2022-12-19 12:03:01 -08:00
jp9000
78f3389d17 libobs: Add funcs to get windows video adapter LUIDs
Useful for providing adapter order to encoder test subprocesses
2022-12-19 11:59:44 -08:00
Service Checker
626dbd3c3d rtmp-services: Remove defunct servers/services 2022-12-12 01:28:41 +01:00
jpark37
b7b7f0ae88 obs-ffmpeg: Set chroma location for VA-API 2022-12-11 14:12:36 -08:00
jpark37
2a816c5fa7 obs-qsv11: Put mastering primaries in GBR order 2022-12-10 21:53:04 -08:00