It looks like git on GH tags without signatures first and thus the
consequent fetch in create_continuous_release.sh fails because it
fetches signed tag (although it is the same object).
See also:
https://github.com/MartinPulec/UltraGrid/actions/runs/2902280934
+ enable debugging in the script (`-x`)
For a reason, this sometime fail resulting to following error:
[DeckLink capture] set_display_mode_properties: out of memory
+ release_bmd_api_str: NOOP if nullptr passed (can be now the case since
the code is more permissive)
Since default C++ constructors are no longer used for NDI,
zero-initialization intializes NDIlib_recv_create_v3_t::bandwidth to 0,
which is NDIlib_recv_bandwidth_lowest.
When ug process doesn't respond to termination GUI needs to kill it.
This makes the return code equal to 9 and GUI complains about a crash.
Without a message in the log this could have been confusing.
Windows distribution of NDI usually doesn't contain Version.txt so do
not use it. Moreover the previous way of creating the version file (in
.bashrc) was not perfect.
Write at least NDI major version if NDI_VERSION is not present.
nvcc had some problems with gcc 12.1 stl map templates when compiling gpu.cu.
And since ldgm-session-gpu.h which contained the c++ code was only needed for
this one macro, it's probably better to move it to gpu.cuh which is
already included by all files that need it.
For opaque codecs (H.264), the allocated size was actually smaller than
(maximal) data len set. That is usually not an issue, but when
destroying, the invalid maximum is exported (because PUTF_DISCARD with
unmodified frame). Steps to reproduce:
uv -t testcard:size=1280x128 -c libavcodec:codec=H.264 -d dump
Do not enable intra-refresh for NVENC - current implementation in FFmpeg
implies infinite GOP, which is useless for UltraGrid.
+ added option to explicitly enable intra refresh (eg. when we know that
it is safe to enable it with FFmpeg, eg. with our patched FFmpeg built
with Linux CI).
Use MSYS2 version instead of external builds from gyan.net. FFmpeg gets
installed as a dependency anyway and this causes crashes because of
binary incompatibility between those two. See failed run:
https://github.com/CESNET/UltraGrid/actions/runs/2076078289
With current flags, -DUNICODE is defined, thus compiling preview.cpp
using wide function (FormatMessageW) implicitly, thus use FormatMessageA
explicitly.
Fixed incorrect number of channels allocated when there is channel
remapping, eg.:
uv -s testcard -r dummy --audio-channel-map 0:1
The problem occurs in code introduced by commit 54befa49 but the array
is also used elsewhere, namely read by decode_audio_frame().