Fixes#7146
Normally, Qt and CEF each run their own version of GTK, often causing
conflicts. This commit introduces a build of CEF where GTK has been
disabled using `use_gtk=false` as we do not require the Chrome runtime.
This is an experiment and may end up being the safest long-term solution.
Note: This does introduce potential quirks/incompatibilities, such as
browser sources no longer being able to display alert() dialogs, and
potentially file browser dialogs not working from CEF.
This is better than the alternative. If necessary, such dialogs can be
reimplemented using Qt at a later date, and would likely provide a more
consistent user experience.
This goes back to a slightly older variant of the
SubmitInput/QueryOutput handling that doesn't use AMF's timeout
property. Older devices do not like it when you change the query timeout
on the fly and will lock up. So instead, wait one millisecond when the
AMF input is full, which appears to fix the issue according to testers.
Also adds a loop timeout in case it goes in an infinite loop (which it
shouldn't anymore, but still)
Big thanks to Flaeri for testing the old code, and Yukari for patiently
testing a whole bunch of builds.
All this does is it uses the same exact code AMD uses with their own
example FFmpeg muxer code. Although instead of adding to the PTS, it
subtracts from the DTS.
The removeIconSmall is now also a trash icon, so we don't need a
separate (now duplicate) themeID for it anymore.
The icon itself of course needs to stay as it's still needed.
For exported targets `INCLUDES DESTINATION` behaves in a specific way
when running `install`: It sets the `INTERFACE_INCLUDE_DIRECTORY` for
the target (relative to the `INSTALL_PREFIX` when a relative path is
given).
This is not implicitly done by CMake, which resulted in the exported
libobs Framework to miss the variable and as such targets linking to
libobs were not able to find the necessary headers anymore.
The memory leak was introduced by a commit ba68eda59 to use
av_packet_alloc because av_init_packet got deprecated.
Also removes a boolean flag `new_packet` and use the pointer `packet`,
which is introduced by ba68eda59, to indicate there is a new packet.
Co-authored-by: Norihiro Kamae <norihiro@nagater.net>
This reverts commit 90a409fe58.
Reverts #7077 for now. This really shouldn't be done so close to
release. This crash technically only happens under very niche scenarios,
and the fix seems to have some other potential issues. Prematurely
merged by Jim.
Qt translation strings use the full English string as an identifier,
rather than a standardised key. Meanwhile, .ini files aren't designed
for keys with spaces, so a translation string for "Restore Defaults"
won't match unless the ini line is
"Restore Defaults"="Defaults"
which is inconsistent, unpleasant and harder to read.
Setting a QStyle resets the color palette. This is unhelpful when a few
lines before that we set a new palette. In theory the setStyle call
could just be moved up, but we don't need to since we always set the
same style so there's no reason to call it multiple times.
If the user just reselects the theme they're already on, we shouldn't
set it again, as setting a theme always introduces issues (that are
especially visible on macOS and Linux).
Parentheses are needed due to operator precedence (although the previous
code happened to work because POLLIN has the value 1).
Fixes: 91f986ec99 ("linux-v4l2: Check udev fd events")
Plugins are expected to be in the .plugin bundle format. We do not want
to encourage usage of the old .so format, this is only kept at all for
backwards compatibility with existing plugins.
This crash is suspected to be a QT bug that happens in 6.2.4, as
it only happens in this version. This is the QT version that is in
the Ubuntu 22.04 ppa, so this fix is a necessary evil as it affects
Ubuntu users.
This fixes the crash by deferring the hiding of the audio mixer
item to the next event loop.
Users with AMD CPUs and Intel dGPUs (Arc) would find that QSV is
restricted to 1200p and missing features due to to this check failing.
Once the encoder gets rewritten for AV1 support we will fix this
properly.