YoutubeAuth::chat is a raw pointer that is uninitialized. Most of the
time it doesn't matter, since the object it points to is created at the
application start. However, in case of Wayland (Linux), CEF is not
initialized (because it's not supported) and the chat object will never
get created.
This patch fixes crash on Wayland by initializing `chat` to `nullptr`.
Co-authored-by: Roman Podoliaka <roman.podoliaka@gmail.com>
On Windows, if CEF libraries were present in default paths, they would
be picked up in this find_program call, and it could later cause a build
failure in the CMake custom copy commands on install if the components
we are trying to copy do not exist. I recently ran into this after
installing Intel PresentMon, which included CEF components, and was
picked up by this find_program call. Let's apply NO_DEFAULT_PATH here
the same as the find_library calls in this finder.
This reverts commit aeed4a3aa1.
The source type `browser_source` is now available for all supported
platforms so we don't need to fallback to `linuxbrowser-source`.
The status bar message was not vertically aligned properly to
other widgets in the status bar. We have to implement our own
message system here, as the default status bar in Qt has hardcoded
paddings.
This fixes a bug when swapping NVIDIA effects.
The update signal triggers a destruction of the previous effect, but the
effect would still run, potentially causing a crash.
The mutex added in the NVIDIA processing function prevents that.
Signed-off-by: pkv <pkv@obsproject.com>
The code assumed MFXCreateSession would always succeed, but it fails on
systems with no QSV implementations, causing a crash when we call
MFXClose later. Additional success checks for the other API calls were
also added.
CEF apparently doesn't like it and is unable to handle when you
destroy/recreate CEF instances very quickly, so... let's just put a
timer on this insanely terrible function. I guess. Whatever.
If you're using an encoder from a plugin, and you remove that plugin,
this value will be null, causing a crash. (Lain note: I realize that
this isn't the best solution to this problem, though there really isn't
any way to infer what type of encoder the prior encoder was. Should also
save the encoder type as additional setting metadata in future
versions.)
Setting AdaptiveCQM to ON when LowPower is OFF crashes the
intel-oneapi-gpu implementation on Linux when using the AV1 encoder.
But using the same LowPower settings as Windows works so lets drop the
current guards.
We need to check for new versions of the NVIDIA Effects redistributables
because mismatched versions of the AUDIO and VIDEO sdk can have
different CUDA versions of the deps, which has caused crashes in obs.
It'd be way better that NVIDIA either ships a single installer with both
audio and video effects or that they auto-install with the drivers.
But meanwhile, we provide a warning to users which requires us to keep
in sync with what's released.
Signed-off-by: pkv <pkv@obsproject.com>
generate-docs action does not require a commitHash (it discovers this
value automatically) and redirects do not need to be set up anymore
as the old documentation pages have been removed.
When the internal git reference is nonexistent, GitHub Actions seems
to convert that value into a hash made up of only zeroes. As that
hash will be commit-ish it will pass verification.
git cat-file will fail if the provided reference cannot be resolved
in the repository so should be the safer choice.
Using older file system (HFS+ instead of APFS) and compression
(lzfse instead of lzma) allows the disk image to be opened on older
versions of macOS, avoiding the cryptic error message that users
are greeted with otherwise.
This is a temporary fix for the still-alive installed base of
Intel-based Macs.
VPL does not have a consistent initialization process for the various
backends it dispatches to. So this resolves the new VPL dispatcher
failing to initialize the video session when it dispatches to
intel-mediaSDK backend. On the oneVPL-intel-gpu backend VA-API sessions
are correctly initialized so this wasnt noticed when tested on newer
hardware.
In c8d95005c1, it was incorrect assumed that just because the fix
worked on OpenGL, that the fix would also work on D3D11. Automated tests
would be ideal here, although if there were automated tests, ironically,
it wouldn't have picked this up, because we (read: I) made D3D11 fall
back to OpenGL of D3D11 failed. Basically there is no one to blame but
myself again.
This time, we've removed the OpenGL fallback in a06d6893b9 (thank you
Rodney), and additionally I properly tested on both rendering backends.
(Lain note: I'm just going to go sit in the corner for a bit and
ruminate after this)
After commit 8955338624, 'UI/update/models/whatsnew.hpp' is included
unconditionally, even with 'ENABLE_WHATSNEW=OFF', which breaks
building OBS Studio without nlohmann JSON.