11812 Commits
Author SHA1 Message Date
jp9000 de36705ebc libobs: Update version to 28.1.0 28.1.0 2022-10-31 14:27:54 -07:00
jpark37andJim 26e91cf962 libobs: Force SRGB conversion for tonemapped video
Fixes case where video capture is darkened when both luma wipe and scale
filtering are set.
2022-10-31 14:20:21 -07:00
Ryan FosterandJim c57da834e9 obs-ffmpeg: Split NVENC preset migrations by codec
This commit also modifies UI.
2022-10-31 14:20:21 -07:00
Ryan FosterandJim 03cdd317be UI: Add NVENC preset migration for lossless 2022-10-31 14:20:21 -07:00
Ryan FosterandJim eaf0eb95c5 obs-ffmpeg: Align NVENC preset migrations to NVIDIA guidelines
Bring our NVENC preset migrations closer in line with NVIDIA guidelines.

https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-preset-migration-guide/

This commit also modifies UI.
2022-10-31 14:20:21 -07:00
Ryan FosterandJim fd73860167 obs-ffmpeg: Add NVENC preset mapping for old Default preset
The old NVENC preset "Default", labeled in OBS as "Performance", maps to
the new P3 preset when not using multipass. Since we previously only
enabled multipass/two-pass on "Max Quality", we can map this to P3 in
all cases.

This commit also modifies UI.
2022-10-31 14:20:21 -07:00
Ryan FosterandJim c1178f638b obs-ffmpeg: Swap hq and mq preset order
This is for consistency with b2ff22a587.
Max Quality (mq) is "higher" than Quality (hq), and it's helpful for the
code order to reflect that.
2022-10-31 14:20:21 -07:00
jpark37andderrod 93e1efbde2 libobs: Fix blend method in studio mode
Property was not being copied over.
2022-10-31 11:25:33 +01:00
derrodandJim ebe3311384 obs-ffmpeg: Fix Ubuntu 20.04 detection 2022-10-28 21:36:52 -07:00
Jim e43fb25051 obs-ffmpeg: Fix FFmpeg NVENC presets on Ubuntu 20.04
Ubuntu 20.04 and 22.04 both have the same FFmpeg versions, but FFmpeg on
20.04 was built with version 9 of NVENC headers, whereas 22.04 was built
with 11.

Unfortunately, that means we have to revert back to the old presets when
Ubuntu 20.04 is detected. The way this detection is done is a bit hacky,
but it's the only way to preserve startup performance. Otherwise we'd
have to write yet another startup subprocess test program to detect
whether the FFmpeg being used was built with older or newer NVENC, which
is both slow to start up and annoying to write. So instead, just get the
distro name/version strings and detect Ubuntu 20.04 that way.
2022-10-28 21:36:52 -07:00
Translation UpdaterandJim 3b0033a26b Update translations from Crowdin 2022-10-27 14:36:16 -07:00
Matt GajownikandJim 3a35b85bba obs-browser: Update version to 2.18.6
d31b5fc - Include source name when printing console errors
d1fa35d - Add missing translation key for ERR_TIMED_OUT
2022-10-27 14:36:16 -07:00
Matt GajownikandJim 97dc9f212c enc-amf: Minor compilation improvements 2022-10-27 14:36:16 -07:00
gxalphaandJim 27f44e5883 UI: Use correct key for "Always on Top" with projectors 2022-10-27 14:36:16 -07:00
Mattias LandinandJim d60ca17bed rtmp-services: Add Vindral service 2022-10-27 14:36:16 -07:00
derrodandJim 1806f6667f UI: Fix placeholder element not being deleted 2022-10-27 14:36:16 -07:00
tytan652andJim afe1e70825 UI: Avoid showing service integration page on Wayland 2022-10-27 14:36:16 -07:00
gxalphaandJim 135fc4f7fb UI: Set preset2 instead preset for simple mode NVENC 2022-10-27 14:36:16 -07:00
derrodandJim 78a84c6e12 UI: Hide --portable from help text if disallowed 2022-10-27 14:36:16 -07:00
derrodandJim b327877c67 UI: Hide donation CTA when running via Steam 2022-10-27 14:36:16 -07:00
derrodandJim 10e677521c UI: Add --steam flag 2022-10-27 14:36:16 -07:00
Stefan HoffmeisterandJim 5a68d4998b linux-v4l2: Send STREAMON/STREAMOFF on vcam start/stop
This implements a suggestion made in
https://github.com/floe/backscrub/issues/133#issuecomment-1085598710 to
address what appears to be a problem in the v4l2loopback driver.
And better aligns OBS' usage to the v4l2 kernel interface.

fixes #4808
Co-authored-by: Norihiro Kamae <norihiro@nagater.net>
2022-10-27 14:36:16 -07:00
PatTheMavandJim e1f312feb3 docs: Fix sphinx import error on Python 3.10+ 2022-10-27 14:36:16 -07:00
jp9000 f8299e3739 obs-ffmpeg: Fix NVENC "mq" to use P6 rather than P4 28.1.0-rc1 2022-10-19 17:53:25 -07:00
jp9000 ead7ae2394 UI: Change "hq" to use P5 when upgrading NVENC 2022-10-19 17:53:25 -07:00
tytan652andJim 3d5570f1ce UI: Fix stats widget appearance on Yami themes
- QSS changes fix background color on the stats dialog.
- Making OBSBasicStats derive from QFrame fixes the background color
and round bottom corners on the stats dock.
2022-10-19 12:35:44 -07:00
tytan652andJim 526b810334 UI: Fix stats widget status font size 2022-10-19 12:35:44 -07:00
tytan652andJim 6159da183e UI: Fix theme if apply and cancel in settings
Cancel after apply in settings will set the old theme.
2022-10-19 12:35:44 -07:00
derrodandJim d6f0270f49 CI: Fix Steam launching x86 version under Rosetta
Apparently Steam running the OBS launch script makes it run
inside Rosetta as well, so it ended up launching the x86 version
even on arm64 systems.

Explicitly detect Rosetta translation and set arm64 in those cases.
2022-10-19 12:35:44 -07:00
6bf6e27ec1 mac-virtualcam: Fix random crashes in applications loading VirtualCam
Without invalidating the mach port used for sharing the IOSurface
between OBS and the application displaying the virtual camera output,
IOKit seems to run into the issue of receiving "shared" mach ports,
possibly because of port exhaustion. IOKit requires a "new" port
however and crashes upon that error otherwise.

Co-authored-by: Steven Michaud <smichaud@pobox.com>
2022-10-19 12:35:44 -07:00
derrodandJim 515b310d59 CI: Fix services check using deprecated GHA output
Also fixes an invalid type annotation.
2022-10-19 12:35:44 -07:00
Ryan FosterandJim 1047feac62 CI: Update GitHub Actions for set-output deprecation
GitHub Actions has deprecated set-output. Replace usages of set-output
in stdout with the new syntax to save the output to the new environment
variable.

See:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-10-19 12:35:44 -07:00
gxalphaandJim 7bb01d52d8 UI: Use correct title for failed replay buffer start 2022-10-19 12:35:44 -07:00
Richard StanwayandJim 2ad517e91e obs-filters: Remove unused assignments 2022-10-15 16:17:46 -07:00
Richard StanwayandJim 1d044db4f6 UI: Check return value of ConvertResText before accessing results 2022-10-15 16:17:46 -07:00
Richard StanwayandJim a282b1c64d libobs: Add ifdef for Windows-only variable assignment 2022-10-15 16:17:46 -07:00
Richard StanwayandJim cba81638b5 UI: Fix potential memory leak when parsing OBSThemeMeta 2022-10-15 16:17:46 -07:00
Richard StanwayandJim f021da2afa UI: Copy result of getenv before use
Another call to getenv, as well as a call to the POSIX functions
setenv(), unsetenv(), and putenv() may invalidate the pointer
returned by a previous call or modify the string obtained from a
previous call.

https://en.cppreference.com/w/c/program/getenv
2022-10-15 16:17:46 -07:00
Richard StanwayandJim daee83373c UI: Remove unused assignments 2022-10-15 16:17:46 -07:00
PatTheMavandJim e2db9b7f70 UI: Fix possible crash due to UI property access from graphics thread
Selection state can change by main thread while UI thread (which
calls DrawSpacingHelpers) tries to evaluate the amount of selected
items. Get amount of selected items by enumerating over the scene data
instead (which stays within the graphics thread).
2022-10-15 16:06:50 -07:00
jp9000 feda64e9c6 virtualcam-module: Fix crash on resolution change
Certain programs can start the virtualcam filter, then they may choose
to call `Stop()` on the filter, call `SetFormat()` to change the
resolution, then call `Run()` again to start the filter again. The
Windows virtual camera filter did not account for this, thus if the
resolution was different, it had potential to cause a crash.

To fix this, store the last filter resolution, then check the resolution
every frame, and if it changes, reset the scaling information.

(Author note: This code is unclean. What we need to do with the virtual
camera filter is make it only create the thread on `Run()`, then join
the thread on `Stop()`. It's currently a bit complicated to make it do
that at the moment, so this code is a kind of an annoying stopgap for
now.)
2022-10-15 01:42:07 -07:00
jp9000 bc9ed5062d virtualcam-module: Clarify resolution variables
The `cx`/`cy`/`interval` variables specifically specify the
OBS/placeholder resolution/interval. The resolution may not be the same
as the filter's resolution (when scaling is used).

Instead, prefix these variables with `obs_` to improve clarity.
2022-10-15 01:29:05 -07:00
jp9000 e18acb57af obs-ffmpeg: Clarify name of NVENC preset 2022-10-14 16:25:22 -07:00
jp9000 bcb73cb599 virtualcam-module: Don't send frames on initial pause
Sending frames on initial pause seems to cause an odd crash on
subsequent frame calls.

(Note by author: I do not know why the crash happened because code
beyond OBS is a proprietary black box. I suspect it's just a bug in
WebRTC or something, but I can't know for sure. This is incredibly
frustrating. But at least this particular crash seems to be fixed.
...for now.)
2022-10-14 00:14:54 -07:00
Richard Stanway e93ad13529 UI: Don't offer current resolution in auto config if < 240p
Fixes #3612.
2022-10-13 23:13:27 +02:00
Ryan FosterandJim b2ff22a587 UI: Swap mq and hq NVENC Preset mappings
The old preset "mq" was "Max Quality", which used the old HQ preset with
two-pass enabled. The old preset "hq" was "Quality", which used the old
HQ preset without two-pass. Of the two, "mq" would have been considered
"slower" or "higher quality" than "hq", so let's swap these entries.
2022-10-12 21:21:03 -07:00
jp9000 3dfcdb8c07 Revert "libobs: Update version to 28.1.0"
This reverts commit 9baf7f4a8f.
28.1.0-beta1
2022-10-11 19:37:32 -07:00
jp9000 9baf7f4a8f libobs: Update version to 28.1.0 2022-10-11 17:11:47 -07:00
Chip BradfordandJim 5054e5739a UI: Use transform to fit vcam source to canvas 2022-10-11 15:38:30 -07:00
Chip BradfordandJim 2af28d62e9 Revert "UI: Remove individual sources (for now) from vcam config"
This reverts commit 7c8995c20f.
2022-10-11 15:38:30 -07:00