Commit Graph

10611 Commits

Author SHA1 Message Date
Martin Pulec
382f2fc26b CI PCP: fix another breakage [Win]
The development in PCP seem to be very turbulent these days and it breaks
Win builds often so pin a commit in Windows CI until the situation calms
down a bit.
2025-03-21 14:51:39 +01:00
Martin Piatka
5df5014708 disp/vulkan: Use generic FPS indicator 2025-03-20 13:29:07 +01:00
Martin Piatka
d523f96c77 disp/vulkan: Don't crash when image acquire fails multiple times
It is not uncommon for swapchain image acquire to fail multiple times in
a row e.g. when the user is continuously resizing the windown with the
mouse cursor. There is really no need to raise an exception and crash
the whole process.
2025-03-20 13:23:31 +01:00
Martin Piatka
f648c2753c disp/vulkan: Fix suboptimal swapchain handling
When vkAcquireNextImage() returns VK_SUBOPTIMAL_KHR it means that a valid
usable image was still acquired and that means that the
acquire_samaphore is pending and signalled as normal.

This means we cannot just recreate the swapchain and reuse it to acquire
an image from the new swapchain as VulkanDisplay::display_queued_image()
was doing, because the spec states that the semaphore must be unsignaled
and not pending.

The fix here is to render and display the suboptimal image as normal and
set a flag to immediately return swapchain_image_out_of_date to trigger
a swapchain recreation on the next frame.
2025-03-20 13:23:11 +01:00
ATrivialAtomic
17ffd5d986 compress/cmpto_j2k.cpp - Fixed missing template arguments in cuda_allocator declaration 2025-03-19 15:01:54 -04:00
Martin Piatka
c8ee20a854 vcap/testcard: Fix frames being limited to 0 by default
The capture_frames was initialized to 0 which together with changes in
commit 2d72943 meant that no frames were captured by default.
2025-03-19 14:45:09 +01:00
Martin Pulec
641df59fcd fix macOS 15.4 beta crashes due to LC_RPATH dups
Fixes the UG crashes caused by the multiplication of
"@executable_path/../libs/" caused by replacing multiple (originally
distinct) LC_RPATH values with this one.

+ removed invalid comment from Makefile (actually was related to
"bundle-nolib" target that is no longer present)

closes GH-436
2025-03-19 10:46:30 +01:00
Martin Pulec
1970dafe2e CI PCP Win: most of incompat is now fixed upstream
Most of the incompatibilities, which were patched, have already been
fixed in upstream.

just forward decl of struct timezone/timeval is still needed
2025-03-18 16:07:17 +01:00
Martin Pulec
d670e2ebee CI PCP Win: patch rather than using old version
IP*PKTINFO is defined by the Mingw-w64 headers but the structs
(eg. msghdr or cmsghdr) as defined in RFC 3542 seem to be called
differently (WSAMSG, WSACMSGHDR).

So the compat will be perhaps still required unless PCP adds support
for Win structure names. The other changes are just fixing Win-specific
headers (which may be fixed in PCP upstream eventually).

Also moved dummy Git identity setting to enfironment.sh (is now needed
also for MSW).
2025-03-18 14:15:34 +01:00
Martin Pulec
2fbcf4f7bf Revert "CI Linux: XIMEA install workaround"
This reverts commit 7162decfb7.
2025-03-18 14:08:40 +01:00
Martin Pulec
dccc4fff1e Revert "CI mac: disable pkg-config and use pkgconf"
This reverts commit 9cee3b1011.
2025-03-18 14:08:40 +01:00
Martin Pulec
a07c0db968 Revert "CI macos: pkg-config install fix"
This reverts commit 3e8100c7d2.
2025-03-18 14:08:40 +01:00
Martin Pulec
2b0433483a CI PCP Win: compat
Recent development in PCP breaks the compatibility with MSW so use an
older version for now. Restoring the compat would require some effort.
2025-03-18 14:08:40 +01:00
Martin Pulec
9f92e09602 removed another positional refs in printf format 2025-03-17 16:13:36 +01:00
Martin Pulec
724eaff424 parse_mtu: additional checks
Added additional number validitiy check (to newly created parse_number
function). Mainly to cover inputs like '1something'  where it should
not be parsed correctly as being 1.
2025-03-17 15:54:45 +01:00
Martin Pulec
84c3e5571d MTU size check: improved
Do not use positional references to printf format string, which is a
POSIX extension and not supported by Windows C library.

+ write the optarg string (in case that is only partionally parsed -
atoi stopped at first non-number)

refers to GH-437
2025-03-17 15:51:20 +01:00
Martin Pulec
283439b9fe aplay/portaudio get_supported_format: sort srates
Sort sampling rates for poraudio playback that are tested if the device
doesn't support natively the received sample rate.

Use lowest higher or equal sampling rate if possible, if not, use the
highest usable sampling rate.

Also remove note in qsort_s.h (no longer valid - can be included where
approopriate, not only before first inclusion of stdlib.h).
2025-03-17 15:51:20 +01:00
Martin Pulec
33915a7eae aplay/portaudio: add dev default sample rate
This complements the previous commit - add the device default rate to
list of rates, that are tested if work (obviously this one should work
by definition so that now testing the remaining sample rates shouldn't
take place).
2025-03-17 15:51:20 +01:00
Martin Pulec
4b2c6266e5 acap/portaudio: set device default rate
instead of hard coding 48 kHz, which may also fail as for VB-Matrix set
to 44100 Hz using ASIO

refers to GH-430
2025-03-17 15:51:20 +01:00
Martin Pulec
fd0771c9c6 prettier audio printout
- just 2 decimal points for secs
- print aggergate sample count with thousands delimiter
2025-03-17 15:51:17 +01:00
Martin Piatka
cda82b3af6 lavc: Include common hwaccel unconditionaly
Needed for create_hw_device_ctx() for vulkan hwframes. Shouldn't cause
any issues as lavd always includes this too.
2025-03-17 13:38:06 +01:00
Martin Piatka
206b05f180 lavc: Add AV_PIX_FMT_VULKAN to supported pix fmts 2025-03-17 13:09:21 +01:00
Martin Piatka
15ab076c4e lavc_common: Define HWACC_VULKAN if ffmpeg is new enough 2025-03-17 13:09:21 +01:00
Martin Piatka
7e110eac14 lavc: vk hwframe support 2025-03-17 13:09:00 +01:00
Martin Piatka
b8208e79d7 libavcodec: Vulkan pixfmt fix inverted ifdef cond 2025-03-17 13:08:59 +01:00
Martin Piatka
679e090900 disp/vulkan: Don't use yuv sampler if linear filter unavailable 2025-03-14 14:52:57 +01:00
Martin Pulec
e2b42a3c03 add tools/mux_ivf
refers to GH-434
2025-03-13 09:14:35 +01:00
Martin Pulec
be1ec3fa30 vcap/testcard: exit if frames=<n>q
added optional exit if testcard run with frames= limit
2025-03-12 16:52:16 +01:00
Martin Pulec
2d72943438 vcap/testcard: limit frames - fix number (was -1) 2025-03-12 16:46:55 +01:00
Martin Pulec
2a59b6d00f vcomp/lavc: prefer libvpx-vp9 if AVX2 !present
For VP9, libsvt_vp9 is preferrd (if built-in, which is in Linux builds),
but it compiles with AVX2 by default, so prefer libvpx if CPU doesn't
support that.
2025-03-12 13:58:04 +01:00
Martin Pulec
7bcaf24ffa vcomp/lavc: preferred encoder updates
- typo (prefered->preferrred)
- if callback defined but returned nullptr, ignore that
2025-03-12 12:46:11 +01:00
Martin Pulec
7e1cbf8c6d AppRun Firejail fixes
- setup_firejail was not passed the whole command-line as the fucnction
(and subsequently called ones) expected
- omit adding --read-only=/tmp fixed - now paths are "-enclosed, handle
eventual mutliplied leading / and evental trailing one and don't assume
space after (not needed now, " delimits that)
2025-03-12 12:32:10 +01:00
Martin Pulec
7b29a9d817 CI ARM: build Vulkan with armhf
This effectively reverts commit 02cd2479 (later modified to disable
Vulkan only for 32b ARM).
2025-03-11 14:16:11 +01:00
Martin Pulec
0a3b315229 CI ARM: remove buster compat 2025-03-11 14:16:10 +01:00
Martin Pulec
2f1de5bd4e fix CI coverity
The workarond is not needed in U24.04 (current ubuntu-latest used by
coverity-scan) and actually doesn't work (qtchooser is not installed).
2025-03-11 14:16:10 +01:00
Martin Pulec
65d886746f Revert "CI Linux: install pipewire with distro pkg"
ARM builds still use Debian 11, for which that is needed.

This reverts commit 35e30cd58c.
2025-03-11 14:16:07 +01:00
Martin Piatka
f4504e1f52 vulkan_context: Fix debug callback deprecation warn 2025-03-11 13:29:48 +01:00
Martin Piatka
caf774efcf lavc: Don't crash on missing codec opts
codec->priv_class could be null, fixes GH-435
2025-03-11 10:15:56 +01:00
Martin Pulec
af222c70a5 CI Linux: use Qt6 in ubuntu-22.04 2025-03-10 11:08:59 +01:00
Martin Pulec
35e30cd58c CI Linux: install pipewire with distro pkg
+ remove explicit libdav1d install (already in FFmpeg build-dep)
2025-03-10 10:47:15 +01:00
Martin Pulec
1abc9d97aa portaudio_common: help shotcut words
'output channels' and 'input channels' is needlessly verbose, use abbrevs
+ IN 1st, out second
2025-03-07 15:50:34 +01:00
Martin Pulec
e0dd01ccaf CoInitializeEx: use COINIT_APARTMENTTHREADED
PortAudio/ASIO drivers seem refuse initialization if
CoInitilizeEx initialized as COINIT_MULTITHREADED but they do for
COINIT_APARTMENTTHREADED.

Windows devices that could be affected by this change tested and seem
to work, namely:
- DeckLink
- DirectShow
- WASAPI

refer to GH-430
2025-03-07 13:26:17 +01:00
Martin Pulec
b2e70a619e poraudio: print supported APIs in fullhelp
useful mainly to check ASIO presence in Win
2025-03-07 11:11:01 +01:00
Martin Pulec
dc80f7cb48 portaudio_common: include-what-you-use 2025-03-07 10:36:30 +01:00
Martin Pulec
223f2b95a1 Revert "Reapply "CI Linux: use Vulkan directy from repo""
This reverts commit 91b56cddab.

The ppa:savoury1/ffmpeg4 repo is no longer used with ubuntu-22.04
runner but FFmpeg currently needs Vulkan v1.3.277 ibut the distro has
only 1.3.204.
2025-03-07 09:03:17 +01:00
Martin Pulec
2eaf9bc17d CI Linux: removed obsolete commands 2025-03-07 09:03:17 +01:00
Martin Pulec
fb022f2d1b CI Linux: switch to ubuntu-22.04
ubuntu-20.04 GH image is being deprecated and will be eventually removed
from GH
2025-03-07 09:03:06 +01:00
Martin Pulec
850138ab59 set ug_options.audio.codec_cfg=nullptr
The commit b785c3d8 from 2024-08-05 changed the default unconditionally
to PCM, but this has been true just for UltraGrid RTP, not RTSP or SDP
that used MP3, so this change reverts it back.
2025-03-06 10:59:26 +01:00
Martin Pulec
06bb519cb3 messaging: include-what-you-use 2025-03-05 16:15:51 +01:00
Martin Pulec
4a085c6c6c vrxtx/rtsp: allow compressed stream passthough
If the input is already compressed, try to pass it further. Initialize
the compression just if receiving uncompressed data.

This is implemented in the same way as it already is in vrxtx/sdp.

refers to GH-433
2025-03-05 16:09:05 +01:00