Commit Graph

7697 Commits

Author SHA1 Message Date
Martin Pulec
ffa79acdc5 vcomp/cuda_dxt: improve error print
- use logger
- print CUDA error string
2025-09-04 11:23:55 +02:00
Martin Pulec
0578d809c1 default sountfont: use original name
The name default.sf3 is no longer required, the soundfont name is resolved
directly so use the original name. It is TimGM6mb derivative with just
piano downloaded from:
<https://musical-artifacts.com/artifacts/2642>
2025-09-04 09:25:44 +02:00
Martin Pulec
4357452c32 move soundfont to shared + always install
This simplifies things a bit at the expense that the soundfont is always
included/installed (91 kB).

Added get_data_path() function for generic handling the path to common
data (eg. /usr/local/share/ultragrid if installed). The idea is to catch
all cases - installed (run with absolute or relative path) or run from
inside the source directory in one place.
2025-09-03 16:42:28 +02:00
Martin Pulec
faf95598ad get_exec_path: return bool + fixes
return true

fix FreeBSD and generic variant - the logic was inversed to the definition,
returning 0 on success and !0 otherwise
2025-09-03 16:07:41 +02:00
Martin Pulec
f806f01428 fs: get_exec_path: static + consolidate 2025-09-03 15:08:57 +02:00
Martin Pulec
d1667f8187 snprintf_ch: discard return value from fprintf
clang-tidy complains about the unused return value of fprintf, which is
mostly useless here
2025-09-03 14:35:11 +02:00
Martin Pulec
8d15eb58a3 vulkan_sdl3: use common func for FPS pretty printout
A common way would be to use generic FPS indicator. But a slight problem
is that _putf return value isn't entirely reliable for this module,
since the frame may be dropped later doe to insufficient performance.

Because of the above, do not use the generic indicator, at least
for now. But use the common function to make the output "prettier"
(bold/color and if not performing well also use a color for FPS).
2025-09-01 11:06:09 +02:00
Martin Pulec
2169772063 remove sdl_mixer
should be replaced altogether with fluidsynth - add alias there

+ removed typo in fluidsynth pkg name  ARM CI bootstrap.sh
2025-09-01 10:22:18 +02:00
Martin Pulec
9bad114367 vdisp/vulkan_sdl{2,3}: register aliases
Switch hidden to alias - makes a difference for GUI, see also the
previous commit.
2025-08-29 08:24:32 +02:00
Martin Pulec
b0739571ce lib_common: new class for module visibility
Add MODULE_FLAG_ALIAS (+ complete API) for modules that are not hidden
as technical/deprecated moudles but rather an alias.

The difference is important for GUI not to print aliased module twice.
2025-08-29 08:24:31 +02:00
Martin Pulec
7ac13a3032 vdisp/gl: old GLFW compat 2025-08-28 14:10:05 +02:00
Martin Pulec
bddb5054f2 vdisp/gl: print the no-GLX error only as verbose
the Wayland case
2025-08-28 10:41:02 +02:00
Martin Pulec
eb7cb38ea4 vdisp/gl: add platform opt/help/info 2025-08-28 10:25:21 +02:00
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
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
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
e9d6d6bd2f acap/fluidsynth: refuse unsupported ch_count/bps 2025-08-27 09:03:17 +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
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 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
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
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
d3179770d9 add missing includes 2025-08-12 12:24:59 +02:00
Martin Pulec
8126c1fbaf utils/windows: backtrace: print fail if not resolved 2025-08-12 12:24:54 +02:00
Martin Pulec
2007a16d01 sdl3: fix b80eb821
The actual count should be returned **without** duplicites.

The fixed fix fixed just the content of the array but not the count.

This would trigger assertion in
video_decoder_order_output_codecs()->get_pixfmt_desc(VIDEO_CODEC_NONE).
2025-08-11 16:12:37 +02:00
Martin Pulec
945d307dc0 vo_pp/temporal_3d: add nodelay option
same meaning and behavior as for vo_pp/temporal-deint:
1. both frames will be output in a burst
2. in order not to be dropped immediately, set the display blocking
behavior (may or may not work correctly)
2025-08-11 11:37:54 +02:00
Martin Pulec
4979b8c22a add vo_pp/temporal_3d
refers to GH-440
2025-08-11 11:37:38 +02:00
Martin Pulec
d31e075e92 vo_postprocess.h: deprecate also in_tile_mode
+ fix the info - brief (actually really just ontput format) + missing
doxy block asterisk
2025-08-11 10:50:11 +02:00
Martin Pulec
8c66766be4 vo_pp video_mode changes: get the mode from PP
- try to get the mode from PP with the new VO_PP_VIDEO_MODE
- if false returned, then PP should support all and ask display
- deprecate/don't use VO_PP_DOES_CHANGE_TILING_MODE, see below

See the commits 5197a11c (2016-07-22) and 97454acc (2012-08-20) where
added.

The tiling mode is set to true for pp/split only, for that it won't do
anything. Otherwise, for all other PPs the desc will be converted to
single tile, which doesn't seem to be legit (the actual input desc is
given by the `desc` argument to display_reconfigure).
2025-08-11 10:04:45 +02:00
Martin Pulec
da7893026b vdecoders: reconf display to correct mode
If decoder (== received) video mode doesn't match display, namely if
display doesn't support separate tiles, set VIDEO_NORMAL.
2025-08-11 10:04:36 +02:00
Martin Pulec
c725630e1c acap/{none,sdi}: IWYU 2025-08-11 08:59:54 +02:00
Martin Pulec
b77f1de071 vcompress: fix multi-tile lavc
fixes the commit 69024468 (from 2022-08-18) that has broken:
`uv -F split:2:1 -t testcard:fps=30p -c lavc`

The problem is that the `tile_cnt` was set _prior_ to the vcompress
state reconfigure, which will yield 2 states. But prior that, the count
was 1. The task was started for tile_cnt (== 1) but waited upon for
separate_tiles.size() (== 2)!
2025-08-11 08:59:17 +02:00
Martin Pulec
129f51164b lavc: add magic
tiled video compress actually seems to pass invalid ponter as for:

    uv -F split:2:1 -t testcard:fps=30p -c lavc

(not the problem of lavc itself, however)

note that module_data is now not first so returning `s` from _init
2025-08-11 08:59:17 +02:00
Martin Pulec
195d6b2d8f displays: DISPLAY_PROPERTY_VIDEO_MODE check/set len 2025-08-08 10:41:19 +02:00
Martin Pulec
7b65da8cf5 vdisp/aggregate codec probe: break if found
no need to iterate further if match found

If display misbehaves (outputs one codec multiple times), it causes
that codec to be elimited later (if the count != 1 for 2 devices) or
more in case of eg. 3 devices and the codec being listed 2-times for one
and no for another, it will be falsely accepted.
2025-08-07 11:19:41 +02:00