The current icon style is somewhat all over the place, with some
icons having thin lines, some others having thicker lines; some
filling the pixel grid in center, others in edges; some trying to
reduce subpixel positioning, some completely unaware of it.
Rework these icons to have a consistent style, with elongated
lines, rounded strokes, and proper center alignment.
The "no_sources.svg" asset is not covered by this work because this
empty state will be worked on in a separate commit.
Further changes will adjust specific UI elements to better match
the icon style.
These icons are derived from the GNOME icon library. I've changed
the fill colour to #fefefe for Dark theme icons, and #000000 for
embedded icons. If further icons are needed, they can be found at
https://teams.pages.gitlab.gnome.org/Design/icon-development-kit-www/
On CI, do not fetch tags in packaging scripts. For some reason, the
checkout action seems to locally update any new git tags on the runner:
t [tag update] (commit-hash) -> tag-name
This causes future calls to fetch git tags to fail on CI with:
! [rejected] tag-name -> tag-name (would clobber existing tag)
To avoid this, we can simply not fetch tags a second time on CI.
Additionally, fix the Windows Installer job.
If the test process freezes for whatever reason, OBS would block
indefinitely on reading the pipe. This commit adds a 2.5 second timeout
on the AMF test process after which it will self-terminate.
In the event that simply loading the AMF DLL causes initialization code
to run that might crash, don't load the DLL before the AMF test process
has succeeded. Instead, we load the DLL as data to see if it exists,
then run the AMF test, then load the DLL for real.
The spec for nal_ref_idc doesn't indicate that it should be used for
priority like x264 seems to be using it for. NVENC seems to pass
different values, so let's not rely on it.
The new scheme might be naive, but we can iterate on it, and apply
evenly to all H.264 encoders.
Calling `devicePixelRatioF` from any thread but the main UI thread
triggers thread-safety warnings at runtime on macOS, because Qt uses
NSView calls to determine the value.
NSView calls are only allowed to be made from the main thread on macOS,
so instead the value is stored as a property of the OBSQTDisplay at
initialization, to be retrieved from the preview object later.
Static functions that do not have access to the preview object have the
pixel ratio passed in their call signature.
SWIG uses the prefix target property to prefix generated Python
libraries with an underscore (so that obspython.py is loaded first,
which acts as a shim for the actual _obspython.pyd library on Windows).
Usually the prefix is set to an empty string on Windows (to avoid the
automatic "lib" prefix used by CMake), but this also removed the
necessary underscore prefix required for the Python library.
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.0
* mbedtls: Updated to 3.2.1
* librist: Updated to the same commit as obs-deps
* aom: Updated to 3.4.0
* svt-av1: Updated to 1.1.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
Syphon relies on global IOSurfaces which are not officially supported
by macOS anymore. While the core functionality is still available,
`IOSurfaceGetPixelFormat` will not return a valid pixel format.