Commit Graph

7684 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
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
Martin Pulec
b80eb8213d vdisp/sdl3 probe: do output codec_t multiple times
It will actually cause problems to callers those count the occurences
like vdisp/aggregate.
2025-08-07 11:18:05 +02:00
Martin Pulec
6e1277a08f types.h: set RGBA as "primary", not alias
At least gdb prints VIDEO_CODEC_FIRST for value `(codec_t) 1`, which
is unfortunate.  So assuming that the first identifier is taken as a
"primary" if more have the same value.
2025-08-07 11:17:48 +02:00
Martin Pulec
cd77aa367d utils/opencl: set CL_TAERGET_OPENCL_VERSION=120
CL headers issue warning when not set and default to eg. 300 (3.0).

Not sure if this influences just this code but it seems that this may just
limit API availability provided by hdrs? So we can get along with !.2 (for
CL_DEVICE_TYPE_CUSTOM).

We currently only do device listing to pass further (Cmpto J2K codec) so
AFAIK we don't have initialization of the device so this shouldn't matter
(at most we'll allow device with unsupported OpenCL version but perhaps
cmpto codec could catch this)
2025-08-07 08:57:51 +02:00
Martin Pulec
6a91cf000e add vo_cf/temporal_3d 2025-08-07 08:57:48 +02:00
Martin Pulec
03d4d69dbb capture_filter/*: IWYU 2025-08-07 08:39:19 +02:00
Martin Pulec
f48a685a05 3d-interlaced: add help documentation 2025-08-06 14:29:20 +02:00
Martin Pulec
ef0a54f6f3 pam: add PAM_PITCH_CONTINUOUS placeholder for pitch
If the value of pitch is "default", it ti actually a bit tricky to set
the value explicitly.

Also the value was set incorrectly in HEAD^^ - pitch equals width only
for single channel + 8-bit.

added doxy
2025-07-31 08:26:36 +02:00
Martin Pulec
f2102361c4 pam: fix writing 3 channels 2025-07-30 15:30:47 +02:00
Martin Pulec
022942ae13 pam: sync with upstream changes
support for pitch (not used by UG)
2025-07-30 10:11:09 +02:00
Martin Pulec
2e39c4e512 jpeg_reader: fixed a typo 2025-07-21 14:45:36 +02:00
Martin Pulec
7c882baa98 lavc: add mapping VUYA<->AV_PIX_FMT_VUYX
should allow FF codecs with VUYX supported without conversion
2025-07-02 08:41:06 +02:00
Martin Pulec
5d5ebd6812 lavc VUYA compat
use already existing VUYX_PRESENT (VUYA was added by 6ab8a9d3 in Jul
2022 a month earlier than VUYX)
2025-07-01 09:02:59 +02:00
Martin Pulec
f660857e61 sdl3_mixer: improve the channel warn
- use LOG_LEVEL_WARNING
- reformulate the message a bit better
2025-06-26 11:22:19 +02:00