9038 Commits

Author SHA1 Message Date
Martin Pulec
a3b3caddae UltraGrid 1.9.4 v1.9.4 2024-06-27 08:56:27 +02:00
Martin Pulec
a0fbc4e517 vcomp/cmpto_j2k: mct opt parse fix
Fixed the commit 27bfe2fc (2020-05-29) which added option nomct, but
switched the meaning of nomct and mct by mistake.
2024-06-26 16:35:53 +02:00
Martin Pulec
498fd765ee vcap/decklink: profile setting fix
Fixed the wrong condition since the commit 215ee42481 (2023-05-04) -
profile was actually not set.
2024-06-26 16:35:53 +02:00
Martin Pulec
9f52fabe76 fixed new (>0.25) gpujpeg compat
\+ use RESTART_AUTO if we have >= 0.25.3
2024-06-26 16:35:53 +02:00
Martin Pulec
67467807a3 fix repeated get_sockaddr_str calls
When get_sockaddr_str was called second time, the buffer was not cleared.

Also use snprintf to write the result in get_scoaddr_addr_str.
2024-06-26 16:35:53 +02:00
Martin Pulec
7dc235843b net: get_local_addresses - ifaddrs.ifa_addr can be NULL
The pointer ifa_addr in struct ifaddrs can be NULL and indeed it occurs
(perhaps with interfaces without assigned addrs?). Steps to reproduce:
```
uv -x sdp -t testcard -c lavc:subs=420
````
2024-06-26 16:35:53 +02:00
Martin Pulec
91fe3ac71e vdec/lavd: check_duration wrong cond
It was perhaps meant to advise frame threads if not enabled, not if
slice thread is not enabled.
2024-06-26 16:08:14 +02:00
Martin Pulec
2d5b20734b broadcast_should_exit: fixed signalling
Since the function can be called from the signal handler, there must
not be any call to signal unsafe function (see signal-safety(7)).

Actually, this is not just a fix of a possible problem but it caused
activelly problems within the reflector when 2 signals were raised one
shortly after anotner. Was stuck at following (snippet):
```
std::unique_lock<std::mutex>::unique_lock(std::mutex&) at /usr/include/c++/14.1.1/bits/unique_lock.h:74
 (inlined by) state_root::broadcast_should_exit() at /home/martin/Projects/ultragrid/src/host.cpp:533
exit_uv at /home/martin/Projects/ultragrid/src/host.cpp:587
signal_handler(int) at /home/martin/Projects/ultragrid/src/hd-rum-translator/hd-rum-translator.cpp:219
```
2024-06-26 16:08:14 +02:00
Martin Pulec
1123f4f399 CI: suppress brew list output for uninstalled
the message: `Error: No such keg: /opt/homebrew/Cellar/asciidoctor`
is now print on stderr, which disturbs GitHub CI (complains about it in
action summary annotations; just a warning).
`
2024-06-26 16:08:14 +02:00
Martin Pulec
5aaba6d1d1 CI Win: CUDA/MSVC incompatibility fix
Latest MSVS 2022 17.10.34928.147 (MSVC v14.40.33807) in GH runner
20240603.1.0) is no longer compatible with CUDA 11.8.0.52206. CUDA refuses
to compile because of unsupported compiler. Previous version 17.9.34902.65
(GH runner 20240514.3.0) was OK.

As MSVS 2022 is supported by CUDA 11.8 in general, we can pass
-allow-unsupported-compiler flag.
2024-06-26 16:08:14 +02:00
Martin Pulec
c378bea288 CI Linux FFmpeg: patch VP9 FFmpeg patch
temporarily again incompatible with current FFmpeg HEAD
2024-06-26 16:08:14 +02:00
Martin Piatka
065ca274c8 hd-rum-translator: Force recompression for conference
Previously the --conference-compression parameter would only work for
automatic output ports (sending back to participants who are sending to
us), while the hosts explicitely specified on cmdline would default to
packet reflecting mode (and not receive the mixed video).
2024-06-25 13:56:12 +02:00
Martin Piatka
298b1bb819 display/conference: Fix behaviour when fps is unspecified 2024-05-31 14:43:38 +02:00
Martin Pulec
a936500c25 UltraGrid 1.9.3 v1.9.3 2024-05-22 11:21:19 +02:00
Martin Pulec
42bbc2a31f vdisp/pipe: do not announce VC_NONE support
If using transcoding reflector, eg.:
`hd-rum-transcode 8M 5004 -c libavcodec -P 6004 100:1`

pipe is used, which advertised VC_NONE, for which assertion at the
beginning of get_pixfmt_desc() failed.
2024-05-22 10:50:44 +02:00
Martin Pulec
d7e64a07af hd-rum-transcode: exit if serv sock init fails 2024-05-22 10:24:28 +02:00
Martin Pulec
ee9fe26e01 hd-rum-transcode: catch stoi invalid_argument
Make something like `hd-rum-transcode 8M 5004 -P x 100::1` fail with
humaan readable message.
2024-05-22 10:23:47 +02:00
Martin Pulec
6e44d112d9 CI macOS: install only not installed brew formulas
The GitHub actions now complain if trying to install a formula, that is
already installed, eg:
```
  run macOS (macos-14)
  pkg-config 0.29.2_3 is already installed and up-to-date. To reinstall 0.29.2_3, run: brew reinstall pkg-config

```

As a workaround, install just the formulas, that are not already
installed.
2024-05-22 10:18:28 +02:00
Martin Pulec
afda0381ae deinterlace: fixed noopt config
Introduced by the commit c4aa64c8 (2024-01-13).

refers to GH-384
2024-05-22 10:10:28 +02:00
Martin Pulec
d8c28fabf8 macos-wrapper: change version from 10.15 to 12
Current C/C++ workflow builds already on macOS 12, so that also macOS
versions 10.15 and 11 would be incompatible.
2024-05-22 10:05:29 +02:00
Martin Pulec
5a5fc53f60 CI macos: adapt to new DELTACAST packages
see previous commit
2024-05-22 10:01:40 +02:00
Martin Pulec
359aed3446 CI Win: adapt to new DELATCAST packages
See:
<https://www.deltacast.tv/media/30987/changenotice_videomaster625_installers_and_distribution_packages.pdf>
2024-05-22 10:00:05 +02:00
Martin Pulec
00f95eb8ef audio: unregister callback
This caused occasional crashes on M1 Mac Pro with `uv --capabilities`
(also in macos-14 arm64 GH runner). This was most likely caused by the
callback being run just after the audio state has been destroyed.
2024-05-22 09:59:18 +02:00
Martin Pulec
051047d16e added unregister_should_exit_callback
\+ unregister the callback for video_rxtx
2024-05-22 09:59:12 +02:00
Martin Pulec
fcd222f5b2 register_should_exit_callback: register directly
no noeed to pass with a message
2024-05-22 09:59:00 +02:00
Martin Pulec
e613d4bd8c vcompress/lavc: do metadata housekeeping in store
Moved metadata housekeeping to store_metadata() and removed the
assert. The idea is to prevent crashes on assert when some encode fails.

In some malicous case (eg. when the latency is higg), the metadata can be
now released prior to restoring, so print at least a warning about that.
2024-05-22 09:57:41 +02:00
Martin Pulec
5da326b10f RTP: err sending RTCP - missing NL 2024-05-22 09:56:50 +02:00
Martin Pulec
0d8eaf2685 UltraGrid 1.9.2 v1.9.2 2024-04-29 11:58:12 +02:00
Martin Pulec
7f9e311757 CI Windows: install clang gcc-compat
No longer installed automatically, causing gcc from mingw64 MSYS2
environment being used (autoconf defaults to gcc).
2024-04-29 10:55:42 +02:00
Martin Pulec
4e6625bd33 vcap/avfoundation: fixed cmdline dev spec parsing
fixed commits from 2023-01-03 (a9c001b9 and 4a915454):

1. unspecified device index is -1, not 0; this fixes run without device
spec (`-t avfoundation`)

2. device_name was not include in the condition for explicit device
selection. It coincidentally worked because of the bug nr. 1, because
the device_index was set to -1 and checked to not equal 0, which fulfills
the if condition
2024-04-29 10:43:36 +02:00
Martin Pulec
5bc00776b8 disp/decklink: always set max_aud_chans to value of 'mach'
set always max_aud_chans to BMDDeckLinkMaximumAudioChannels

Setting it to BMDDeckLinkMaximumAnalogAudioOutputChannels ('aach') for
analog output was incorrect, because eg. BMD Studio 4K has mach=16 but
aach=4. This subsequently crashes on assert, because
IDeckLinkOutput::EnableAudioOutput accepts only 2, 8, 16, 32 or 64
channels.
2024-04-29 10:43:27 +02:00
Martin Pulec
4807355d1d fixed video RX port explicit setting
Fixed the commit cb0f7fea (2023-05-09) which caused that -P <vrx>:<vtx>
didn't set the video bind port.
2024-04-29 10:41:00 +02:00
Martin Pulec
1bf4146a5c disp/caca: suppress logging if output is console 2024-04-29 10:40:22 +02:00
Martin Pulec
2fb5dc80fd vcap/dshow: added mapping for H.264 2024-04-29 10:37:57 +02:00
Martin Pulec
0fb244025d CI Windows: build CUDA stuff for CC 3.5
Kepler cards are still (and few months will be) supported by NVIDIA.
2024-04-29 10:28:04 +02:00
Martin Pulec
131e858677 vdec/gpujpeg: fixed compat gpujpeg case
P012Z should not be returned in this context, anyways
2024-04-29 10:26:35 +02:00
Martin Pulec
9ad453cf78 vdec/gpujpeg: set the default GJ params (probe)
At least the struct gpujpeg_image_parameters is input/output - the
pixel_format is read from there (to evaluate if alpha formats should
be presented). So better initialize it correctly - now it perhaps doesn't
matter but to be future-proof.
2024-04-29 10:26:03 +02:00
Martin Pulec
68c5d3b732 gui/.../previewWidget.cpp: include windows.h [Win]
windows.h is required for GetTempPathA and MAX_PATH
2024-04-29 10:24:56 +02:00
Martin Pulec
4e0c46eb9a GPUJPEG 0.25 API compat 2024-04-29 10:23:35 +02:00
Martin Pulec
0f2d95a9b9 Revert "CI FFmpeg Linux: pin Vulkan-Headers"
No longer needed. Moreover, this now prevents the FFmpeg build.

This reverts commit b8f4d15df4.
2024-04-29 10:23:24 +02:00
Martin Pulec
b5c697ba22 CI Windows: install Vulkan
Supposedly, it has been installed as a ffmpeg dependency but now the
MSYS package depends just on vulkan-loader, not headers.
2024-04-29 10:22:58 +02:00
Martin Pulec
f611e9a58c disp/caca: done correctly on no poisoined pill
If no poison pill is passed (eg. some other module,init like vidcap
fails), poisoned pill is currently not passed before the done callback
is called. In case of this module it causes indefinite freeze. Moreover,
the processs cannot be killed from the command-line (neither Ctrl-C nor
Ctrl-\), because the console is "consumed" by CACA.

example of fixed command: `uv -t fail -d caca`
2024-04-29 10:22:21 +02:00
Martin Piatka
e2cf27cee9 GUI/preview: Output alpha channel in fragment shader
Outputing only a vec3 caused weird transparency issues on wayland
2024-04-22 16:57:14 +02:00
Martin Pulec
5ae61a01c4 UltraGrid 1.9.1 v1.9.1 2024-03-20 15:23:38 +01:00
Martin Pulec
d28130df9c added FIXES.md 2024-03-20 15:23:38 +01:00
Martin Pulec
8ec4c897f6 vcap/file: fixed compat 2024-03-20 15:23:37 +01:00
Martin Piatka
6320243e52 CI: Fix Win jack download 2024-03-20 14:52:00 +01:00
Martin Pulec
7f397d2e1c CI FFmpeg Linux libde264 patch: removed reordered_opaque
dropped from upstream
2024-03-20 14:49:32 +01:00
Martin Piatka
6b7d38d6c5 CI: Ubuntu install gcc-10
FFmpeg refuses to build on gcc 9, because of missing intrinsic
_mm256_loadu2_m128i
2024-03-20 14:49:31 +01:00
Martin Pulec
2ccefd5f4f CI Linux FFmpeg: updated libde265 patch
rebased with the current FFmpeg code
2024-03-20 14:18:44 +01:00