This moves X11 platform to the qt private functions, as x11info was
removed from Qt6 so this is required for a clean Qt5/6 transition.
This is the implementation of x11info::getdisplay so it should still
work on older platforms. This "API" doesnt really guarantee anything
though.
Also clean up wayland only bits as we use them for all windowing systems
now, and the name of the native pointer we want is the same on both
platforms for now.
- Update LuaJIT according to upstream recommendations (maintainers of
this project prefer that distributors use the git repository directly,
instead of archives. Do that, and also update the Lua path for swig.)
- Update ffmpeg and drop patch which is included in this updated release
now.
- Update x264
- Update nv-codec-headers
- Update mbedtls
It seems this introduced various regressions on X11 (and, potentially, on other
platforms too, but needs confirmation). Let's preserve the old ways on current
platforms, and only use this flag on the new Wayland platform.
Remove beta label for YouTube - RTMPS and make it the default. Remove
YouTube - RTMP service and move the legacy RTMP urls to the Server
dropdown list.
Only auto-select WGC for desktop capture if a battery exists and
multiple GPU adapters are present. May false-positive on desktops with
a smart UPS attached, but we don't know of a better test.
If obs was shutting down in very early in initialization like when the
X11 display is missing this context parameter might still be NULL.
Return early to allow shutdown to complete without crashing.
In CMakeLists.txt, FIND_MODE is not defined here. This was moved from
UI/CMakeLists.txt in commit cb4d2ff7faa8b52cf219ae85fe6caf1d2fc3f906. In
UI/CMakeLists.txt, FIND_MODE is REQUIRED if DISABLE_UI is false or
undefined and ENABLE_UI is true. Since the same booleans are required
for the if-else branch in CMakeLists.txt where we try to find Qt, we can
set find_package to REQUIRED here as well.
Our QT_UTF8(str) macro uses QString::fromUtf8(str) with no size
argument. In Qt5, QString::fromUtf8 uses a default value of -1 for the
size arg. If size is -1, it is taken to be strlen(str). In Qt6,
QString::fromUtf8 doesn't use a default value for the size arg, but has
the same behavior if you manually specify -1 for the size. Let's
manually specify -1 to maintain the same behavior between Qt5 and Qt6.
https://doc.qt.io/qt-5/qstring.html#fromUtf8https://doc.qt.io/qt-6/qstring.html#fromUtf8
This changes cleans up some deprecated functions that were removed in
Qt6. Some are placed behind version ifdefs and others are replaced for
their non-deprecated Qt5 version.