- do not include config*h - for [nh]to[nl][sh] created a compat file,
because it is included in different headers in MSW and POSIX-compatible
systems
- include suggested headers by include-what-you-use
Set tmp_frame width, height and format. Those are not copied by
av_frame_copy_props as supposed by commit 5d3c31c115 (2023-10-31).
As such, this partially revers that commit.
This increases the output just 3 more lines while those listed options
may be useful.
\+ suggest no to _aacl_ to explicitly disable audio consumer levels
- print _detect-format_ only in fullhelp (not muche needed nowadays
since perhaps all devices support input autodetection)
- print _passthrough_ instead in shortened help
- added [=no] suffix to aacl to indicate that it can be explicitly
disabled
Counterintuitively, just shourtcuts of conversion was allowed, meaning
that something like: `-t decklink:c=UYVY` didn't work and c= was assumed
to shortcut `conversion=`. Similarly connection was not possible to
shortcut.
Since the conversion is (perhaps) less often used, move _codec_ and
_connection_ before conversion (shortcuts are dispatched serially;
_codec_ is set first) and allow shortcuts. Now it is possible to use
something like:
uv -t decklink:d=0:c=UYVY:con=HDMI
The strdup-ed pointer was actually not leaked but assigned to
s->dir. There was, anyways, just one poblem, when the dir started with
':', so. `strtok(cfg_copy, ":")` would skip leading ':' returning
cfg_copy+1. That would then be passed to free in export_destroy(), which
would most likely crash on invalid pointer.
Do not issue the warning over PowerShell or cmd legacy terminal emulators
in Windows 11. In Window the check doesn't work, because the process
tree is different - the Windows Terminal doesn't have its own process
and it is uv.exe->powershell.exe->exporer.exe.
This improves commit bb2a72f67f.
This modifies the commit 7f166a2411. Although Linux CI is run with U20.04,
Coverity workflow uses ubuntu-latest, which is currently 22.04, where
default gcc is actually 11 and this breaks GPUJPEG compilation with
error starting with:
```
-- The C compiler identification is GNU 10.5.0
CMake Error at /usr/local/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:780 (message):
Compiling the CUDA compiler identification source file
"CMakeCUDACompilerId.cu" failed.
Compiler: /usr/bin/nvcc
```
fixes failed run <https://github.com/CESNET/UltraGrid/actions/runs/7968323068>
Repeat the message every 30 secods - it is potentially important
information and when printed only once, the user may miss the point when
there is plenty of messages (especially at the beginning).
\+ do the same also for decompress
Actually the value+1 (so 1 for first frame) is can be incremented
directly, this also removes the need to increment it in failed paths.
Here the behavior has been inconsistent, because if queue was full,
the index was incremented but on incompatible description it wasn't.
Now it is always incremented.
This respawns the process instead of the script. The advantage is that
when the AppImage process is killed, UG is killed as well, eg. in this
case:
```
UltraGrid-continuous-x86_64.AppImage -t testcard & (sleep 3; kill $!)
```
Otherwise just the parent process (the shell) is killed, leaving the child
(UG) running on background, which is undesirable. See also:
<https://stackoverflow.com/questions/8533377/why-child-process-still-alive-after-parent-process-was-killed-in-linux>
For the above command, `kill -SIGTERM -$!` would be required to do
the job, but the parent shell process keeps "running" in the background
and `bg` needs to be run.
Do not bundle SDL_SOUNDFONT instead of the SoundFont now included in
sources. This is a bit contra-intuitive, since the user may have set
the SDL_SOUNDFONT for its primary reason. Using the variable was just
a workaround to find _any_ usable soundfont, which is now unneeded.
Also, the user-selected soundfont may have hundreds of MB (as usually
the general-purpose soundfonts have).
The size is only some 90 kB when compressed so it is perhaps not worth
downloading from external source and depend on it.
It could be even bundled directly, not by CI. Now it is actually the case
in Linux (create-appimage.sh) but it is also possible for other platforms.