Commit Graph

10611 Commits

Author SHA1 Message Date
Martin Pulec
7868344056 vdisp/gl: parse_fmt - return bool
returning the pointer was a bit tricky - very slightly more correct but
needlessly more complicated
2025-08-28 09:38:09 +02:00
Martin Pulec
14b41852d2 CI Linux: build up-to-date glfw 2025-08-28 09:20:28 +02:00
Martin Pulec
1a1bee8a29 CI Linux: simplify caches
handle cache build/install (transitively) in prepare.sh
2025-08-28 09:19:55 +02:00
Martin Pulec
ed78a761fe CI Linux FFmpeg: consolidate to a single script
in similar fashion as already done for install_sdl.sh

As a bonus, we do not need to depend on whole prepare.sh for cache
rebuild but only on this script, which is perhaps cleaner and may
yield less rebuilds. Also prepare.sh is slightly easier.
2025-08-28 08:48:18 +02:00
Martin Pulec
a15d3d0d95 CI: environment.sh: set -eu
the script is sourced so errexit+nounset is perhaps not yet set

But it is better to exit early, especially when setting the environment
variables that are considered a prerequisite.
2025-08-28 08:48:18 +02:00
Martin Pulec
0cfe4b6b0f CI Linux SDL: consolidate
add all to one script with deps/build_install/install_cached actions

- yml - use action @main
- cache: do not depend .github/scripts/Linux/prepare.sh, just the
catch-all SDL install file
- build SDL,SDL_ttf without entering the dir (as fluidsynth already does)
2025-08-28 08:48:16 +02:00
Martin Pulec
4466594c1e CI Linux: add Qt6 Wayland plugin
Install the qt6-wayland package - the plugin will then be deployed to
the AppImage automatically.

for the case when user has set QT_QPA_PLATFORM=wayland
2025-08-27 14:09:37 +02:00
Martin Pulec
cefae84362 soundfont lookup (sdl,fluidsynth): fix dfl sf3 path
default path for default-GM.sf3 is in /sf3 subdir, not /sf2
2025-08-27 14:09:36 +02:00
Martin Pulec
e5691c9bee CI Linux: add /usr/local/lib to LD_LIBRARY_PATH
+ also to LIBRARY_PATH - this will is done also with -L in configure,
probably

Seems like that /usr/local/lib has never been in LD_LIBRARY_PATH and
somehow it didn't matter so far. But with fluidsynth build, we now get
in CI (== also prevents build):
```
ultragrid_acap_fluidsynth.so: libfluidsynth.so.3: cannot open shared object file: No such file or directory
````
2025-08-27 14:09:36 +02:00
Martin Pulec
031510b7e8 CI Linux: build fluidsynth alongside with SDL
In U22.04 (current Linux CI image), fluidsynth depends on sdl2, which
is undesirable. Actually we need to avoid sdl2 linking altogether.

Build from sources alongside with SDL. This makes sense since SDL_mixer
used to be build there and fluidsynth is replacing it.

+ prevent libsdl2-2.0-0 from (accidentally) installing
2025-08-27 14:09:35 +02:00
Martin Pulec
6e8a62bf1c CI: use SDL3 2025-08-27 12:13:08 +02:00
Martin Pulec
6eb185bda8 CI Linux: build SDL3
based on 9eb376ee38
2025-08-27 12:13:08 +02:00
Martin Pulec
6503b92f15 configure: do not prefer SDL2 over SDL3
Unpin SDL version 2 - SDL 3 can be now considered idempotent.

Issues mentioned in sdl3:
- sdl_mixer -> replaced with fluidsynth
- Vulkan issues - Vulkan is currently (SDL 3.20) not implicit in either
of platforms; if so, trigger a warning. Also it is unavailable in SDL2.
- p010 corruption in Direct3D 11 or 12 - there is already a workaround
to disable
2025-08-27 12:13:08 +02:00
Martin Pulec
02cefe8fd0 vo_cf/flip: remove swscale
added errorneously by IWYU
2025-08-27 12:12:26 +02:00
Martin Pulec
aa6be6b1a4 create-appimage.sh: ship soundfont also for fluidsynth
not only sdl_mixer
2025-08-27 09:30:35 +02:00
Martin Pulec
e9d6d6bd2f acap/fluidsynth: refuse unsupported ch_count/bps 2025-08-27 09:03:17 +02:00
Martin Pulec
3a60095d58 CI: enforce fluidsynth, do not require sdl_mixer 2025-08-27 09:00:21 +02:00
Martin Pulec
d010528335 acap/fluidsynth: use usleep
+ remove todo in sdl3
+ add deprecate to sdl_mixer
2025-08-27 09:00:21 +02:00
Martin Pulec
9a738c906c add acap/fluidsynth
To replace sdl3_mixer that does no longer support MIDI playback, thus
unusable for our use case.

- song1 needs to be static included potentially from 2 compilation units -
this and sdl_mixer
2025-08-27 09:00:19 +02:00
Martin Pulec
755ee5158d IWYU some more files 2025-08-25 14:28:56 +02:00
Martin Pulec
4259998a9c vcap/screen_win: IWYU 2025-08-25 14:16:40 +02:00
Martin Pulec
d75951dd41 IWYU some more files 2025-08-25 14:16:38 +02:00
Martin Pulec
5755ce818f video_capture/*: IWYU 2025-08-25 13:01:54 +02:00
Martin Pulec
e79c688497 host: silence warns if libbacktrace not present 2025-08-20 14:31:52 +02:00
Martin Pulec
877ba7a7fa live555: move the compat macro to header
the typedef is needed in BasicRTSPOnlyServer.cpp as well
2025-08-20 14:28:11 +02:00
Martin Pulec
3af5f4dad6 CI Linux FFmpeg: update SVT-HEVC patch
the older seem no longer apply with the last 5000 commits from FFmpeg Git

rebased upon current FFmpeg Git master
2025-08-20 12:06:44 +02:00
Martin Pulec
f170a505aa old live555 compat 2025-08-20 10:32:00 +02:00
Martin Pulec
aef1b690cd fix CID 488781
very marginal, but...
2025-08-19 10:22:01 +02:00
Martin Piatka
b42ff25d72 acap/pipewire: Fix help text 2025-08-18 10:05:05 +02:00
Martin Piatka
505e136382 configure.ac: Fix --disable-gpujpeg_to_dxt option in help text 2025-08-18 10:03:18 +02:00
Martin Pulec
b3368a0182 Makefile macOS: generate symbols in GUI bundle
Moving just the X.dSYM directory isn't enough since the executable is
identified by name inside the .dSYM tree. But it may be possible to move
the symbols to the "main" tree, since the subtree mimics the hierarchy, eg.
for uv, the symbols are in uv.dSYM/Contents/Resources.
2025-08-14 10:16:49 +02:00
Martin Pulec
4a8c12f416 add .sh suffix to hd-rum-av
This is more convenient and allow the users that honor that behave more
correctly, eg. he macOS legacy compat wrapper in Makefile adding -real
to executable binaries.
2025-08-14 09:08:28 +02:00
Martin Pulec
6651e0efb1 Makefile macOS bundle: copy debug symbols 2025-08-14 09:06:30 +02:00
Martin Pulec
c67610c527 macos_bundle_libs.sh: avoid otool on dir
eg. uv.dSYM
2025-08-14 08:28:11 +02:00
Martin Pulec
c82282949f Makefile: run dsymutil [mac]
needed for libbacktrace
2025-08-14 08:27:58 +02:00
Martin Pulec
c0d88af1ce CI mac: add libbacktrace 2025-08-14 08:08:36 +02:00
Martin Pulec
e233623787 host: reenable stacktrace on mac
reenable the stacktrace

Disabled accidentaly by the commit 222499a2 (2025-04-14), which removed
the backgrace on everything except glibc and Windows.
2025-08-14 08:07:09 +02:00
Martin Pulec
624bd0f517 CI Linux: enforce libbacktrace
In Debian/Ubuntu, libbacktrace is part of libgcc-XY-dev package so no
need to install anything (but this doesn't hold eg. for Arch where this
is a packed as a standalone package libbacktrace).
2025-08-13 15:01:33 +02:00
Martin Pulec
1115d403de host: libbacktrace/print_stacktrace_glibc improves
- rename some symbols (state bs->bt), callbacks prefix with libbt
- assemble the line with strappend-like functions and write() just the
result
- flush the output after backtrace_symbols_fd() in case that the later
calls fail to have at least something output
- write_number->append_number for point 2 + tid write
2025-08-13 14:52:23 +02:00
Martin Pulec
9a2956ef34 print_stacktrace_glibc: fixes
- do not write trailing NULL byte
- do not use snprintf - is not async-signal-safe
- added a bit Doxy docu
2025-08-13 12:44:07 +02:00
Martin Pulec
2b3ae39a4f support for symbolic trace with libbacktrace
Linux (+ eventaully macOS)
2025-08-13 12:44:05 +02:00
Martin Pulec
f2cecbd50a live555: fix API change 2025-08-13 10:32:24 +02:00
Martin Pulec
a5c54a9419 c_basicRTSPOnlyServer: mv rtsp_serv def to .cpp
hide struct rtsp_serv definition by moving it to .cpp
2025-08-13 10:32:24 +02:00
Martin Pulec
4a4716f6e7 CI mac: fix broken live555 test
live555 HEAD commit is now f4a4e8fb0

testRTSPClient.cpp:64:24: error: copying variable of type 'EventLoopWatchVariable' (aka 'atomic<char>') invokes deleted constructor
   64 | EventLoopWatchVariable eventLoopWatchVariable = 0;
2025-08-13 10:32:20 +02:00
Martin Pulec
ec90eb0468 fix hd-rum-transcode crash
crashes since the commit ab5d2a5ca (2025-06-17)

That commit started to enforce existence of control socket, which is
not true in case of the reflector.

fixes ab5d2a5ca

closes GH-461
2025-08-13 09:04:53 +02:00
Martin Pulec
ebca9e1211 print_stacktrace_win: print also file/line
and displacement, if present

Also print common (frame number, stacktrace ptr) in one place.
2025-08-12 12:25:18 +02:00
Martin Pulec
38da0cd4bf configure: avoid excess spaces
While the construction ${var+ $var} works if var is not defined, it will
produce extra space if var is empty. Added ':' to '+' to avoid this.
2025-08-12 12:24:59 +02:00
Martin Pulec
cc2e7103b1 configure.ac: generate debug symbols for Win
<https://stackoverflow.com/questions/74416539/clang-14-does-not-generate-pdb-file>

Set it only when linking, not for configure.
2025-08-12 12:24:59 +02:00
Martin Pulec
d3179770d9 add missing includes 2025-08-12 12:24:59 +02:00
Martin Pulec
3a940a5868 configure.ac: fix unbound GL vars 2025-08-12 12:24:59 +02:00