Commit Graph

11026 Commits

Author SHA1 Message Date
Martin Pulec
0de9f4c19a use __MINGW_GNU_PRINTF instead of attr
Use __MINGW_GNU_PRINTF instead of __attribute__((format (printf...))) in
MinGW with gcc and UCRT (MSYS2 mingw-w64-ucrt-x86_64). The gcc
attribute(printf) doesn't seem to work correctly here for eg. '%zu'
(it seems it does in Clang env).
2026-01-09 11:00:16 +01:00
Martin Pulec
9c391213d7 vdisp/gl: print version always
change log level for printout from VERBOSE to INFO

print also GL_VENDOR and GL_RENDERER

+ print in :help if unable to create window
2026-01-09 10:27:18 +01:00
Martin Pulec
7dfaa6ac04 vdisp/sdl3: print selected pixfmt in INFO
The selected pixel format information is potentially important information
that helps the user check that the conversion is not degrading some
aspect of the video (if it can occur). Anyways, it shall be useful for
the info, anyways.
2026-01-08 15:50:44 +01:00
Martin Pulec
1f3aaa0454 vdisp/sdl3: param to unblacklist p010 for d3d 2026-01-08 15:47:05 +01:00
Martin Pulec
a1c6196df5 utils/fs: IWYU + rm redundant path delim
(path delimiter already contained by result of get_temp_dir())
2026-01-08 11:24:32 +01:00
Martin Pulec
6f9c3662e7 fs: do not use str[n]{cpy,cat}
use snprintf[_ch] to simplify and possibly make safer
2026-01-08 10:40:05 +01:00
Martin Pulec
d5c01300d4 docker_appimage_tests.sh: print which test failed
Since the tests are run in parallel (and also there is much output),
it may be difficult to track which one container actually failed so
write at least a summary.
2026-01-07 15:52:06 +01:00
Martin Pulec
258ef5406e replace ARR_COUNT with countof
see also recent commit 951f9648

countof seem to be upcoming C2Y language macro (and _Countof operator)
so make use of it instead of ARR_COUNT that is now removed.
2026-01-07 14:57:26 +01:00
Martin Pulec
ff7a29db5c control_socked: fix early module_done
The thread is not joined yet so it may access the module data
(check_message).

This might have caused this failure:
<https://gist.github.com/MartinPulec/8d855d67d4333c8806126814607dcce9>
2026-01-07 14:36:09 +01:00
Martin Pulec
951f9648d9 utils/macros: add countof
Rename ARR_COUNT to countof that is probably going to be defined by C2Y
in stdcountof.h (as a macro for _Countof) for convenience.

+ keep the ARR_COUNT for compatibility
2026-01-07 08:50:51 +01:00
Martin Pulec
74e5eab149 AppRun: fix lavc warnings on Tumbleweed
suppress ldd warnings:
<https://gist.github.com/MartinPulec/ae1dc6b6e0b88f3bd02bb47c1163fdf7>

when trying the the bundled libavcodec.so with system deps

Probably OK to silence - the system libva from the live OpenSUSE ISO
seem to be preloaded.
2026-01-06 14:23:47 +01:00
Martin Pulec
3720721836 create-appimage.sh: bundle decor if having vulkan
in additon to gl and sdl check, bundle also if having vulkan

This should be covered by the sdl case, anyways - vulkan display uses
sdl for window management so this usually implies that sdl display will
be present as well, unless explicitly disabled.
2026-01-06 14:23:47 +01:00
Martin Piatka
ca4b44dcd7 disp/vulkan_sdl3: Don't register 'q' keybind
Now behaves consistently with GL display
2026-01-06 14:10:13 +01:00
Martin Piatka
59c2f5b974 disp/gl: Fix cursor hide keybind
Now it shows correctly in help and also works through terminal
2026-01-06 14:10:13 +01:00
Martin Piatka
7624efb8a9 disp/vulkan_sdl3: Alt-m to cycle cursor hide mode 2026-01-06 14:10:13 +01:00
Martin Piatka
1ba9f8b64e disp/vulkan_sdl3: Support key modifiers in keybinds 2026-01-06 14:10:12 +01:00
Martin Piatka
18f8e1ecd8 disp/vulkan_sdl3: Autohide cursor
Should behave the same as the GL display
2026-01-06 14:10:12 +01:00
Martin Pulec
af553d6d27 CI Linux install libdecor Cairo plugin explicitly
Instead of ensuring that the plugin is present, instal the Cairo plugin
directly.

The Cairo implementation is the only libdecor plugin present in U22.04
repositories (U24.04 has the Gtk implementation as well).
2026-01-06 11:01:43 +01:00
Martin Pulec
c6b254c406 README.md: extend copyright to 2026 for CESNET
+ add the legal form - this is probably currently the preferred official
format
2026-01-06 10:28:32 +01:00
Martin Pulec
55b51637d2 vdisp/vulkan_sdl3: opt to set SDL hints 2026-01-06 09:54:21 +01:00
Martin Pulec
7392718662 vdisp/sdl3: add show_cursor 2026-01-06 09:14:34 +01:00
Martin Pulec
99355fc1f2 vdisp/sdl3: allow setting custom hints
eg. `-d sdl:hint=SDL_VIDEO_WAYLAND_PREFER_LIBDECOR=0`
2026-01-06 09:14:23 +01:00
Martin Pulec
a44e42e520 AppImage: bundle libdecor
both GLFW and SDL load libdecor-0.so.0 by dlopen so it is not going to
be bundled...
2026-01-06 09:02:56 +01:00
Martin Pulec
440f82530f vdisp/gl: print err code in hexa
Headers use hexa values (with upper-case non-decimal digits) so make it
easy to find (grep).
2026-01-05 14:54:52 +01:00
Martin Pulec
ca6d94e38a vdisp/gl: register err callback early
to be able to catch eg glfwInitHint errors as eg.:
`uv -d gl:init_hint=0x404=1`
2026-01-05 14:54:49 +01:00
Martin Pulec
ce67e416ab disp/vulkan_sdl2: fix crash on message
ported the commit ca04cb3e3 from vulkan_sdl3
2026-01-02 16:00:32 +01:00
Martin Pulec
b7e0eba35e vcomp/lavc/oapv: fix out-of-bound dereference
fixes CID 897313
2026-01-02 16:00:32 +01:00
Martin Pulec
393a2d8e67 GH/scripts/environment.sh: expect pipefail avail
Expect that the shell implements pipefail - as the environment.sh is
run (sourced) always by bash (implicit CI shell for Linux/macOS and
C:\shells\msys2bash.cmd set explictly in Windows).

this changes c1cfe73a (from today)
2026-01-02 16:00:31 +01:00
Martin Pulec
fa3f5f6d0a main: make also MOD_NAME and PORT_BASE constexpr
Also remove static and const from DEFAULT_VIDEO_COMPRESSION and
DEFAULT_AUDIO_CODEC:
- pointer to const char -> can be turned to constexpr char array,
where constexpr implies const
- static unnecessary - const (implied by constexpr) objects have implicit
internal linkage in C++ (differs from C)
2026-01-02 16:00:31 +01:00
Martin Pulec
88e9cf207b main: make multichar cmdline opt values constexpr
this will eg. allow the compiler to detect unused vars

+ removed the unused MAX_CAPTURE_COUNT (detected when made constexpr as
the opt vals)
2026-01-02 16:00:31 +01:00
Martin Pulec
72b496469f uv executable: add control-port shortopt 'n'
To be compatible with hd-rum-transcode that already has that shortopt.
2026-01-02 16:00:31 +01:00
Martin Piatka
ca04cb3e38 disp/vulkan: Fix crash on module message
It was trying to get the state pointer from the module pointer, but the module isn't the first member in state.
2026-01-02 11:26:49 +01:00
Martin Pulec
c1cfe73a71 GH/scripts/environment.sh: add -o pipefail
Try to set -o pipefail. The option should be supported since POSIX v8
(2024). Of course it is supported by shells like bash/zsh long time ago
but it was added to dash [here], which is merged to dash 5.13, so it
is not in any Ubuntu version yet. So adding '|| true' to suppress
omission.

XIMEA URL extraction must have been updated 'sed -e "... q"' causes
broken pipe, which becomes now fatal.

[here]: https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=6347b9fc52d742f36a0276cdea06cd9ad1f02c77
2026-01-02 09:42:59 +01:00
Martin Pulec
040c5c7eb5 CI: use macos-15-intel
screen must be disabled here because the Core Graphics API for screen
capture is being deprecated/removed in macOS 15.

closes <https://github.com/CESNET/UltraGrid/issues/485>
2026-01-02 09:42:59 +01:00
Martin Pulec
e83a4070f5 create_release (continuous): URL shortcut change
use IMO "prettier" shortcut URLs - UGNightyArchive -> UltraGridArchive
and UGAltBuilds -> UltraGridAltBuilds

While the use of CamelCase is enforced by <https://shlink.io/> UGN...
and UGA.. prefixes is harder to read so use unsortened UltraGrid,
omitting Nightly from UGNightlyArchive (with UltraGrid exceeds 20 char
limits and the Nightly isn't necessary /it is actually continuous/).
2026-01-02 09:42:55 +01:00
armelvil
24dd8c0a39 Update hd-rum-translator.cpp
- fix typo
- fix "c" to "n" in case statement line 669
2025-12-16 14:54:12 +01:00
Martin Pulec
b17135d8e4 AppImage: better handle libOpenGL.so.0
the previous actually didn't work properly, because uv-qt depend
on libQt6OpenGL.so.6 which in turn depend on libOpenGL.so.0. But
LD_LIBRARY_PATH is not set inside the AI so the transitive dep
is not handled and thus the preload is not applied.

Querying libQt6OpenGL.so.6 directly also don't work because it resolves
to the libOpenGL.so.0 in the same library, from which we cannot deduce
if its counterpart is inside the system.
2025-12-05 16:17:07 +01:00
Martin Pulec
656b0a7eeb AppImage: setup_wayland: handle SDL3 2025-12-05 16:17:02 +01:00
Martin Pulec
73e3a7ba84 rework macos-wrapper
generate the run-time dependency according to the build system, not
hard-coded

The advantage for CI is that it does no longer need to be upgraded every
time the GH runner was updated.

This also generalizes for non-CI builds, when the build macOS version
can obviously differ from the CI macos runner.

Do not use both Darwin and macOS version, use just macOS ver.
2025-12-05 12:28:40 +01:00
Martin Pulec
4d6ceb2e5e macos-wrapper: ensure os release according to arch
x86_64 now builds on macOS 13 while arm64 on macOS 14
2025-12-05 11:35:41 +01:00
Martin Pulec
626fdc6d0d continuous desc: change URLs of archive/alt-builds
moved to different location

Also the new link is a shortcut so it may be re-pointed latter elsewhere.
2025-12-05 10:31:11 +01:00
Martin Pulec
5a10182de3 vdec/lavc: fix ProRes decode
fixes decode broken since the commit 7dd9a44 (2025-10-23)

refers to
<https://github.com/CESNET/UltraGrid/issues/479>

closes
<https://github.com/CESNET/UltraGrid/issues/481>
2025-12-05 08:46:14 +01:00
Martin Pulec
566585c7b8 CI delta SDK: output name explicitly
When non-free SDK path is provided but the server curl automatic path
with -O doesn't work (eg. the downloaded file name is passed in a GET
variable).
2025-12-04 16:50:31 +01:00
Martin Pulec
247a594f47 configure.ac: fix avfoundation + ensure
AV Foundation was never enabled due to a error in configure

broken since f1745fba (2025-05-23)
2025-12-04 14:37:37 +01:00
Martin Pulec
3b713aae48 CI AJA: use release branch
Use rather branch release instead of main because in main things may
break sometimes.

Eg. currently (libajantv2 commit 9060cc4a), ntv2m31enums.h is not
installed but ntv2utils.h includes that.
2025-12-04 10:39:02 +01:00
Martin Pulec
9832f9d52d ccpp.yml mac: move the items to hide in single cmd 2025-12-02 09:38:18 +01:00
Martin Piatka
e1f991af5e vcap/pipewire: Fix screen capture 2025-12-01 12:46:13 +01:00
Martin Piatka
98304e7401 utils/sdp_parser: Add [[maybe_unused]] to fix warn 2025-12-01 10:20:45 +01:00
Martin Pulec
ead669c606 to_lavc_vid_conv: remove some warn in 2 last conv
+ IWYU file
2025-11-27 08:30:52 +01:00
Martin Pulec
3b2664086e to_lavc_vid_conv: reindent the recent 2 convs 2025-11-26 16:58:53 +01:00