Commit Graph

7165 Commits

Author SHA1 Message Date
Martin Pulec
181b79f68d pbuf: fixed dropped frm after TS wrap-around
timestamp wraparound was not properly handled

Until 3480fc647 (2023-06-28) this occured just after 13 hrs (2^32 overflow
with 90 kHz clock) because the timestamp initial random offset was taken
from uninitilaized random generator. Since this change, this can can
occur randomly every those 13 hrs.
2023-08-21 12:41:48 +02:00
Martin Pulec
c859f7b44c indent_paragraph: misc fixes
- avoid computing line len from (line_start - pos), because this gives
  raw line length, but we want net (without esc seqences)
- unconditional line wrap - moved after normal processing. The reason is
  to wrap something linke "word <other_100_char_word>" between the 2
  words
- when line was wrapped, the vars were incorrectly set, namely in the
  else-branch, `pos` should have been `last_space + 1` not `next + 1`
  ("b <very_long_word> c" evaluated after the long word)

fixes CID 415859
2023-08-21 12:40:56 +02:00
Martin Pulec
2a9236fa03 indent_paragraph: fixed wrapping
First word was actually not counted to line_len which means that the
the limit of 80 columns was evaluated not counting this word.
2023-08-21 12:26:11 +02:00
Martin Pulec
e0d8aceed4 DELTACAST: VideoMaster 6.21 compat
VHD_BOARDTYPE_HDMI is neither deprecated in 6.21, nor
VHD_BOARDTYPE_HDMI_DEPRECATED is defined anymore.
2023-08-21 12:09:44 +02:00
Martin Pulec
cb2834caba CI Linux: prevent mkappimage auto upload
mkappimage now tries to automatically upload the asset if it detects
running in GitHub CI, which is not the behavior we perhaps want because
it deletes and recreates our _continuous_ release.

See following failed run:
https://github.com/CESNET/UltraGrid/actions/runs/5575039257/jobs/10185765784

+ fixed `wget` presence check in `create-appimage.sh`
2023-07-20 08:53:20 +02:00
Martin Pulec
85db624f28 CI Linux FFmpeg: remove NVENC IDR patch
Since the FFmpeg commit 7eeef72c6, the IDR period is set to gopLength
unconditinally even for intra-refresh mode, which is what the removed
patch did.

+ do not check if FFmpeg is patched (the macro is )
2023-07-20 08:51:41 +02:00
Martin Pulec
1b33f1658e CI: removed SVT-VP9 FFmpeg patch
Isn't needed as for:
https://github.com/OpenVisualCloud/SVT-VP9/issues/167#event-9831723954
2023-07-20 08:50:47 +02:00
Martin Pulec
5b5a2c90fb audio codec: do not pass empty channels to dec
libavcodec audio decoder has assertion on channel non-emptiness (which
is perhpas correct - there cannot be anything done there) so do not pass
emtpy channels.

refer to GH-316
2023-06-20 16:12:32 +02:00
Martin Pulec
1a037f87b1 vidcap file: support for interlaced file
closes GH-321
2023-06-20 16:11:38 +02:00
Martin Pulec
97eed0d1e9 configure: fixed OpenCV 2 support 2023-06-20 16:05:20 +02:00
Martin Pulec
8c27ce0e23 playback: fixed K_UP to be +60s, not 60 frames 2023-06-20 16:02:38 +02:00
Martin Piatka
a5f8bb642a acap/wasapi: Fix setting sample rate 2023-06-20 15:59:01 +02:00
Martin Pulec
50795100f2 fixed CoreAudio default devices
if no configuration is set, empty string ("") is passed, not NULL

This resulted in wrong device set 0 set because the atoi doesn't check
its arguments. Example of fixed behavior:

    uv -s testcard -r coreaudio

`AudioUnitSetProperty(s->auHALComponentInstance, kAudioOutputUnitProperty_CurrentDevice,
kAudioUnitScope_Global, 1, &device, sizeof(device));` succeeded with 0
for some reason (but not with other values).
2023-06-20 15:58:16 +02:00
Martin Pulec
8061668bc1 testcard: fixed a crash 2023-06-20 15:46:27 +02:00
Martin Pulec
5f4d659126 hd-rum-translator: do not crash on incorrect use
do not crash on `hd-rum-transcode 8M 5004 -P 8000` (hostname missing
after port specification)
2023-05-23 11:11:07 +02:00
Martin Pulec
edd627917a UltraGrid 1.8.3 v1.8.3 2023-05-04 10:32:25 +02:00
Martin Pulec
975919d9f1 CI mac compilation fix
Fixes failed run:

    https://github.com/CESNET/UltraGrid/actions/runs/4827804161/jobs/8600918491
2023-05-04 10:32:24 +02:00
Martin Pulec
dd7316b5de added 1.8.3 section to FIXES.md 2023-05-04 10:32:19 +02:00
Martin Pulec
5f4e9c7087 bmd_common: BMC_CONFIG_SET - set bools unconditionally
see GH-306
2023-05-03 16:32:47 +02:00
Martin Piatka
ede867ca93 reflector: Fix removing conference participant
Delete the participant only after we take it's address. Fixes deleting the
wrong port.
2023-05-03 15:20:07 +02:00
Martin Piatka
801b9b6702 reflector: Fix replica module name
The string length calculation didn't consider the ':' separating address
and port, thus cutting out the last digit of the port.
2023-05-03 15:20:06 +02:00
Martin Pulec
cb3054784b dshow: index by number +1
Fixes commit c171ef44 from 2022-10-19 that changed the indexing from
zero.
2023-04-26 15:37:55 +02:00
Martin Pulec
ad2083de4d Reed-Solomon video: support multiple tiles 2023-04-24 11:07:40 +02:00
Martin Pulec
9dbe0e7396 GPUJPEG: fixed parsing of q=/restart= parameters 2023-04-24 11:04:33 +02:00
Martin Pulec
784ff61599 echo: lock_guard should not be a temporary 2023-04-24 10:25:40 +02:00
Martin Pulec
719dacbdb6 gpustitch: fixed mismatched new/free 2023-04-24 10:25:15 +02:00
Martin Pulec
a24004a6cb FEC help: excess second %
perhaps a relict from printf printout
2023-04-24 10:18:02 +02:00
Martin Pulec
bda2f83fcf lavc: allocate at least 4 KiB buf for compressed
When compressing very small video (16x16) with libx265, first frame is
2690 B, which is more than W*H*4 (1024) leading to a crash on assert.

steps to reproduce the fixed problem:

    uv -t testcard:size=16x16 -c libavcodec:encoder=libx265
2023-04-24 10:07:40 +02:00
Martin Pulec
37173381fc Spout: fixed missing GL include
fixes failed run:

   https://github.com/MartinPulec/UltraGrid/actions/runs/4665946519/jobs/8259953664
2023-04-11 15:54:58 +02:00
Martin Pulec
5c43904776 CI Linux: remove AOM U18 compat 2023-04-06 14:49:58 +02:00
Martin Pulec
1ab112673c CI Linux: use Vulkan directy from repo 2023-04-06 14:49:58 +02:00
Martin Pulec
60a10478b7 CI Linux: install wayland with apt
Previously, actually the same version was used but downloaded directly
and installed with dpkg, because it has been used a version from U20
(now default) to U18.
2023-04-06 14:49:57 +02:00
Martin Pulec
d8a64655c9 AppImage: don't use bundled Wayland libraries
Don't use bundled Wayland libraries when running on Wayland but use it
otherwise to satisfy possibly unsatisfied dependencies.

See also previous commit - Wayland libraries seem not to be portable and
prevent SDL2 native run on Wayland. After this change, SDL2 runs on
U22.04 in Weston (without Xwayland).
2023-04-06 14:49:57 +02:00
Martin Pulec
594e81addf CI Linux: do not build own SDL2 anymore
SDL2 now obviously works on U20.04, because we are building there. It
doesn't work on U22.04, but neither the build with SDL 2.0.20 nor 2.26.2
does.

The problem seems actually to be the inclusion of Wayland libraries in
AppImage.
2023-04-06 14:49:57 +02:00
Martin Piatka
740543be00 CI/Linux: Migrate to Ubuntu 20.04 2023-04-06 14:49:39 +02:00
Martin Pulec
f032226791 UltraGrid 1.8.2 v1.8.2 2023-03-21 12:39:43 +01:00
Martin Pulec
88e9ee6bff added v1.8.2 FIXES.md 2023-03-21 12:39:43 +01:00
Martin Pulec
fd522907ce video_rxtx: do not crash after querying rtsp usage
do not crash after `uv --video-protocol rtsp:help` call

Note: other video_rxtx modules handle help differently, eg. h264_sdp
throws 0 from constructor instead of returning nullptr from ::create.
2023-03-21 12:39:43 +01:00
Martin Pulec
0b9a008632 portaudio cap.: use default ch_count if undef
Maximal number of channels was chosen instead of
DEFAULT_AUDIO_CAPTURE_CHANNELS. This was noticable especially for
Pulseaudio plugin, which has 64 channels.

fixes commit 89747981
2023-03-21 12:39:43 +01:00
Martin Pulec
89f9a56a45 portaudio cap/play: fixed default device selection
Passed configuration string is empty ("") if no configuration given by
user. Which evaluates incorrectly as 0 if parsed with atoi.
2023-03-21 12:39:43 +01:00
Martin Pulec
ec80275cfc CI Linux FFmpeg: use a mirror for nv-codec-headers
The master repo https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
is currently unresponsive. The mirror would be perhaps more reliable
since it is hosted on the GitHub, anyways.
2023-03-21 12:39:42 +01:00
Martin Pulec
3d35f42751 CI Linux FFmpeg: apply patches with 'git am'
see also a30a8945

This may fix failed run:

    https://github.com/MartinPulec/UltraGrid/actions/runs/4466205698/jobs/7844098282
2023-03-21 12:39:42 +01:00
Martin Pulec
857da67340 CI Linux: set git user identity
otherwise 'git am' fails
2023-03-21 12:39:42 +01:00
Martin Pulec
3ef33247fd CI macOS: add readline to PKG_CONFIG_PATH
brew port readline is no longer liked to system path by default.

Fixes failed build:

    https://github.com/MartinPulec/UltraGrid/actions/runs/4202715324/jobs/7291225396
2023-03-21 12:39:42 +01:00
Martin Pulec
f4fdf7e707 CI: fix Windows build upload workaround
Used msys/curl instead of clang64/mingw-w64-clang-x86_64-curl for the
upload.

For whatever reason, the other curl variant ceased to collaborate with
GitHub, see failed run (and subsequent ones):

    https://github.com/CESNET/UltraGrid/actions/runs/4223917061/jobs/7334218587

I didn't manage to reproduce it on a local Windows machine so there is
perhaps some hidden factor present.

This change is just a workaround and should be removed when not needed.
2023-03-21 12:39:42 +01:00
Martin Pulec
6cc697991b CI Linux FFmpeg: patch SVT-VP9 patch 2023-03-21 12:39:42 +01:00
Martin Piatka
a18d7e0dc4 create-appimage: Bundle qt plugins with correct version
Starting from about 20th January, the wrong version (qt4) started
getting bundled on the Ubuntu runner.
2023-03-21 12:39:42 +01:00
Martin Piatka
be415f5cb4 GUI: Fix specific display device selection 2023-03-21 12:39:39 +01:00
Martin Pulec
4bc5614fa6 RTP: mem safety imrovement
The handling of source::sr is MT-Unsafe when the library is used from
within 2 threads. Typically when running `uv -t testcard -d dummy` (with
-DDEBUG), check_database() is run from sender thread while process_rtcp_sr
from receiver thread leading to a crash on line 589 using the old
structure data that has been freed and overwritten by some new data.

The above mentioned crash doesn't usually occur since check_database()
is run only if DEBUG is defined. However, in theory it may happen that
both threads accidentaly run process_rtcp_sr() (alhough not observed). In
that case either double-free or a leak could occur if the runs of
process_rtcp_sr() is interleaved in a wrong way. Unfortunately, as the
RTP library is originally mt-unsafe, there can be plenty of similar
undiscovered problems.

(Note: to test the check_database() crash, running in GDB seems to
increase the likelihood that it crashes. This change on the other hand
seems to retuce that, but clearly doesn't eliminate that because the
content of the struct is read while it may be freed by the other thread.)
2023-03-07 08:50:51 +01:00
Martin Pulec
827d0f9834 parse_bitrate: fixed parsing of spec vals
fixes 03f70eade

closes GH-300
2023-03-07 08:41:43 +01:00