* renamed 's=' option to 'strip=' (it is currently defunct, anyways)
* parse 'strip=' after 'size=', effectivelly allowing '-t testcard:s=VGA'
('s=' shortcutting size, not strip)
Fixes potential problems (not always reproducible) when running:
uv -sembedded -tswitcher:fallback -ttestcard -ttestcard:m=VGA -c lavc
Because the fallback mode calculates expected frame time - there is a race
condition when testcard's grab doesn't yet returns a frame but subsequent
check in switcher determines that the frame time already passed.
\+ fixed device names not being stored except first device with excl_init
see also commit a24e194d fixing the issue without that option
refers to GH-336
Following to previous commit, we can build with Qt 6 (even thought that
a workaround is neeeded).
qt package (version 6) is installed anyways as a dependency of opencv
Currently macdeployqt distributed with Qt 6 in Homebrew fails to deploy
transitive dependency (QTDBus in this case). So as a workaround we
hard-copy that for now.
It may not be problem of Qt 6 itself but just the Homebrew distribution,
see also [1].
[1]:
a6a9f108df
Install vulkan headers prior to updating homebrew tree.
the version 1.3.264 seem to be temporarily broken (see [1]), producing
error:
/usr/local/include/vulkan/vulkan.hpp:15:10: fatal error: 'vulkan/vulkan_hpp_macros.hpp' file not found
#include <vulkan/vulkan_hpp_macros.hpp>
[1]:
https://github.com/MartinPulec/UltraGrid/actions/runs/6184953701/job/16789584064
the version 4.1.7 in GH runner is unsolicitedly producing
relocatable install names as it would with (in recent HB version)
HOMEBREW_RELOCATABLE_INSTALL_NAMES=1
see failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6147222102/job/16745596096>
The relocatable install names like:
$ otool -L /usr/local/opt/qt/lib/QtGui.framework/QtGui | grep png
@loader_path/../../../../../../../opt/libpng/lib/libpng16.16.dylib
Makes significant problems to macdylibbundler (it doesn't copy the library
to the bundle at all neither chantes the name).
\+ reinstall freetype (see failed build
<https://github.com/MartinPulec/UltraGrid/actions/runs/6185513000/job/16791263362>)
Macdeployqt copies ordinal libraries to Frameworks/ while we use libs/
with macdeployqt, so use symlink to avoid having 2 copies when lib is
used by both uv and uv-qt.
Do not use hard-coded list of frameworks in Makefile, rather use list
generated by configure.ac in BIN_DEPS.
Needed frameworks are copied to Frameworks/ as part of BIN_DEPS target
(needed for TARGET), so that we can copy this directly to the bundle.
The whole stuff is no no longer needed - only qmake is needed to build
the GUI now (UG itself does no longer depend on Qt - shared IPC frame
now uses UNIX sockets).
- use just one AVPacket
- free audio encoder context
\+ NOLINT(clang-analyzer-core.NullDereference) - this cannot happen -
either audio is enabled and then tmp_frm cannot be NULL here or this
branch wouldn't be entered (display_file_put_audio_frame() is never called)
allows user to fiddle max allowed A/V desync interval before frame drop/dup
\+ moved parsing to a separate function
\+ destroy pthread-related things only if thread started (initialized)
handle 1 byte case, which is unsigned and thus mus be handled separately
\+ divide the other cases with -INT32_MIN instead of INT32_MAX, to avoid
value < -1.0 if the sample value is INT32_MIN (but as the computation is
done in floats, both values will likely to be rounded to the same number)
We advertise support for 16-bit audio only (DISPLAY_PROPERTY_AUDIO_FORMAT),
so it is better to use it directly without short->float conversion if possible.
Currently, the first parameter is taken positionally, which is not
consistent with file display (and key/val parameters are preferred over
positional ones) so accept also "name=" for file name.