Some AVCodec properties like pix_fmts or sample_fmts are marked as
deprecated and should be replaced by avcodec_get_supported_config()
in current FFmpeg.
Created compat functions to get rid of deprecate warnings running with
both old and new FFmpeg.
If running with Firejail, neither /tmp (used by tmpfile()) nor CWD may
be writable so try to create file in $TMPDIR (if defined, otherwise
there a default).
+ modified get_temp_file() opened file mode to be readable
In verbose mode, the SSRC is still printed but it makes - toghether
with timestamps that are default in verbose - the line quite long,
so make it a bit shorter.
Version 2024-10-24 expects std::atomic_flag::test(), which is a C++20
feature but can be omitted if NO_STD_LIB is defined. (passing -std=c++2a
won't help because U20.04 libstdc++ doesn't contain that method).
Added accidentaly by the commit 73572e77 (2024-03-05). Effective only
if --with-cuda option used but without any implications - just `/FOUN:
not found` printed, but processed normally.
Refactoring done in 1ab725d57 (2024-08-05) changed the behavior not to
expect NULL pointer, because common_opts.encryption is a char array now.
But tx_init calls also audio/playback/mixer, which crashes since then so
be less rigid in this case.
The log line reporting recv loss changed format a while ago breaking
this. As a more proper fix it would be nice to eventually report this over
control port instead.
v6.19 and v6.20 is undistinguishable by preprocessor but the later
changes the API. So added a preprocessor directive to allow compilation
with v6.19 passed by user. It could have been checked by autoconf but
it is perhaps not worth the effort.
needed for DELTACAST, otherwise manpage generation fails with:
```
dyld[40232]: Library not loaded: @rpath/VideoMasterHD.framework/Versions/A/VideoMasterHD
Referenced from: <3D8A8CBA-1094-3538-9770-331DE9A2D6D2> /Users/runner/work/UltraGrid/UltraGrid/bin/uv
Reason: tried: '/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file), '/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file)
Could not obtain data from UG/reflector output!
```
The file name has changed and --enable-deltacast was used just if the
download succeeded (which didn't).
Fixes the commit 98d4969b (2024-05-24) that disabled deltacast, because
the archive was not downloaded due to wrong name.
The actual value (5,2,1)/5 didn't match peach fuzz (255,190,152)/255
but the rather closest color is Tomato (255,99,71)/255.
The T_DARKER_ORANGE is poorly defined but its value (3,1,0)/5 matches
approximately the X11 color Saddle Brown (139,69,19)/255.
ubuntu-latest is now U24.04, which uses .source files in deb822 format
instead the original .list in one-line-style format. ubuntu-latest is
used by Coverity runner.
The documentation in header for
NDIlib_video_frame_v2_t.line_stride_in_bytes says that if set to 0,
default value (size of pixel * bpp) will be used.
However, this doesn't seem to work for P216 and PA16 in Windows. It does
in Linux, also 8-bit formats do not require that. However in Windows,
it causes "No data received.".
see also GH-148
Compared to MSW, NDI doesn't set neither the NDI_RUNTIME_DIR_V6
environment variable nor doesn't have "global" runtimne installation path.
The dylib is, however, included dirctly inside individual applications'
bundles. Most of the NDI Tools apps use libndi_advanced.dylib but some
(including the used NDI Launcher) uses libndi.dylib.
In the [wiki], for macOS and Windows, NDI Tools installation is advised,
which does bring its own NDI Runtime, but in a different path. So adding
it for Windows.
[wiki]: https://github.com/CESNET/UltraGrid/wiki/NDI
- allow also matching for machine name (case-insensitive) in addition
to source name
- document it in help
- various improvemetnts: includes, the partial matching is now done in
a separate loop and without c++ regexes (readabilitz)