Commit Graph

7618 Commits

Author SHA1 Message Date
Martin Pulec
dd0c38b01d Revert "Allow overriding display requirement for mainloop"
It is unclear what should this parameter help with and it doesn't seem
that it is somewhere referenced (wiki, GitHub issues).

This reverts commit 2e4fac60b8.
2023-03-29 13:39:48 +02:00
Martin Pulec
3f630e5aca displays: fill video_display_info::run only if needed
Fill the `run` member only if really requesting to run display mainloop,
not to just letting UG run a worker thread.
2023-03-29 13:39:48 +02:00
Martin Pulec
265c6b3f6e Win build: CUDA 8.0 compat
Although quite old, it is very simple to add support for it and it will
allow compilation for eg. CUDA CC 2.x.
2023-03-29 13:39:32 +02:00
Martin Pulec
2fd384b08b fixed 2 Win warnings
- utils/net: unused variable
- wasapi playback: unused function prototype
2023-03-29 12:09:39 +02:00
Martin Pulec
7d5196c610 Syphon: use native GL context
get rid of direct GLUT dependency

+ mac_gl_common.m: fixed copyright + relicense (as the only author)
+ destroy_gl_context - noop for empty (zeroed, not initialized) context
+ GL: attach the context (will be useful later when running at the same
  time Syphon and GL display)
2023-03-29 12:09:38 +02:00
Martin Pulec
741eab4244 GL disp.: acquire GL context
When running aside something else (eg. Syphon), make sure that the
context is ours.
2023-03-29 12:09:38 +02:00
Martin Pulec
9ffeba2d38 lavc: allocate at least 4 KiB buf for compressed
When compressing very small video (16x16) with libx265, first frame is
2690 B, which is more than W*H*4 (1024) leading to a crash on assert.

steps to reproduce the fixed problem:

    uv -t testcard:size=16x16 -c libavcodec:encoder=libx265
2023-03-29 12:08:40 +02:00
Martin Pulec
e8f4763397 recreate the rendering pipeline if size changes
If shader conversion is used, the rendering pipeline needs to be
recreated because the converted frames are initialized with the actual
size. We can perhaps recreate it always if the properties change,
although strictly taken it is not necessarily needed if there is no
conversion and only size changes.

refer to GH-303
2023-03-28 12:20:46 +02:00
Martin Pulec
d901cd719d fixed Coverity CID 315210 2023-03-24 14:06:50 +01:00
Martin Pulec
50ad3976e7 flip: moved to C 2023-03-24 14:06:50 +01:00
Martin Pulec
88d7d1eb8a CI ARM Linux: run every week on Thursday
Caches are deleted if not used for 7 days so if run every week, the
cached environment remains preserved.
2023-03-24 14:06:50 +01:00
Martin Pulec
449251ac3e get rid of global should exit variable 2023-03-24 14:06:50 +01:00
Martin Pulec
f642680f5d Syphon vidcap: do not use global should_exit 2023-03-24 14:06:50 +01:00
Martin Pulec
d1b2806f03 aja cap.: removed dep on global should_exit 2023-03-24 14:06:50 +01:00
Martin Pulec
aa132a496e video_rxtx: do not use global should_exit
use video_rxtx::m_should_exit variable instead
2023-03-24 14:06:49 +01:00
Martin Pulec
24b2cc5b91 audio mixer: do not use global should_exit 2023-03-24 14:06:49 +01:00
Martin Pulec
2074a1257e audio: do not read global should_exit 2023-03-24 14:06:47 +01:00
Martin Piatka
cbcaf16cdf testcard: Expose some options via capabilities 2023-03-24 11:02:30 +01:00
Martin Piatka
17725f9e26 capabilities: Move dev_add_opt helper declaration to types.h 2023-03-24 10:57:22 +01:00
Martin Piatka
3fde759168 GUI: populate options for all devices 2023-03-24 10:51:11 +01:00
Martin Piatka
bad2cb7a4b GUI: Remove hardcoded Display settings tab 2023-03-24 10:29:14 +01:00
Martin Piatka
eca875daf5 GUI: Generalize Display settings to device settings
Now settings will display options reported in capabilities for all
devices, not just displays. If there are no options reported for a class
of devices (e.g. audio capture) then the settings tab will not appear.
2023-03-24 10:29:14 +01:00
Martin Piatka
0966a41b54 GUI: Add device settingType to device struct 2023-03-24 10:29:14 +01:00
Martin Piatka
65e2009e41 capabilities: Fix off by one strncpy 2023-03-24 10:29:14 +01:00
Martin Piatka
bb3cc2dfd9 GUI: Fix wrong controls being cleared 2023-03-24 10:29:13 +01:00
Martin Pulec
4f1c1e8999 CI Windows: use curl in bash instead of pwsh 2023-03-23 09:31:34 +01:00
Martin Pulec
4cd7301fae CI Windows: use yaml shell directive
Use MSYS2 shell for Windows runner by default. This makes the workflow
job somehow more natural and easier.

+ `command -v windeployqt-qt6 >/dev/null` was incorrectly in $()
2023-03-23 09:30:49 +01:00
Martin Pulec
f7c0e8b138 CI Windows: update CUDA to 12.1 2023-03-22 15:51:05 +01:00
Martin Pulec
43ccb95a02 .github/scripts/environment.sh: small improvements 2023-03-21 14:02:25 +01:00
Martin Pulec
cb06790088 caca: chanded keyboard control disable
Do not evalate DISPLAY env. variable but check the driver instead -
disable keyboard control for every display but x11 (doesn't use the
terminal) and null.
2023-03-21 12:08:51 +01:00
Martin Pulec
c2329d0b52 caca: option to specify driver 2023-03-21 12:08:28 +01:00
Martin Pulec
775ee2ecef caca: do not crash if init fails
free/destroy only allocated/initialized items
2023-03-21 12:08:11 +01:00
Martin Pulec
3f12eb37f4 older mac build fix
clang 14 from macports needs the compound literal encloses parenteses
2023-03-21 08:42:40 +01:00
Martin Pulec
212c61739c updated SVT-VP9 patch 2023-03-21 08:21:17 +01:00
Martin Pulec
50e6d9a94b lavc audio: fixed wrong condition
fixes CID 405634
2023-03-20 16:54:28 +01:00
Martin Pulec
f9ad9558b8 CI Linux FFmpeg: use a mirror for nv-codec-headers
The master repo https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
is currently unresponsive. The mirror would be perhaps more reliable
since it is hosted on the GitHub, anyways.
2023-03-20 16:54:28 +01:00
Martin Pulec
f6dbfe1b85 CI Linux: removed libx11-dev
this should be no longer required to be installed explicitly
2023-03-20 16:54:28 +01:00
Martin Pulec
eaff363e93 CI Linux: install magickwand
For Coverity CI, it is not installed automatically as it is in C/C++ CI
(most likely build req for FFmpeg).
2023-03-20 16:54:28 +01:00
Martin Pulec
66678e6d83 Coverity CI: install deps
Install FFmpeg and SDL2 from repositories (in C/C++ CI are used custom
builds for those).
2023-03-20 16:54:28 +01:00
Martin Pulec
e8b6fc7b09 .github/scripts/environment.sh improvements
- fixed a shellcheck warning
- documentation
- removed shebang and executable bit to ensure script is sourced
2023-03-20 16:54:28 +01:00
Martin Pulec
c3660529ac CI: moved configure features to environment.sh
- the yaml file is less messed
- all platform features are put together without being spread across the
  respecive jobs in the yaml
- $FEATURES are now used also by Coverity CI
2023-03-20 16:54:15 +01:00
Martin Pulec
74e0e9e2dc shellchecked .github/scripts/Linux/install_others.sh
fixed a shellcheck warning
2023-03-20 16:54:12 +01:00
Martin Pulec
7ee05dfefd Coverity CI: ensure that NDI is downloaded
Since the commit ee317947, CI-cached NDI installer in Linux was expected
to be downloaded, but this was not true for the Coverity CI, so add the
download to the job as well as a fallback to the script.

fixes failed run

    https://github.com/CESNET/UltraGrid/actions/runs/4464606369/jobs/7840900109
2023-03-20 16:54:12 +01:00
Martin Pulec
969a1cb967 src/crypto/crypt_aes_impl.c: moved SWAP macro def
It collides (on Windows) with our SWAP defined in macros.h. However, as
we do not use MSVC and the macro is used only there, it can be moved to
a unused block (when building with GCC).
2023-03-20 16:54:05 +01:00
Martin Piatka
187dab15c3 capabilities: use strncpy 2023-03-20 09:50:22 +01:00
Martin Pulec
2a88f2d9bd GLFW: map hide_window directly to GLFW hint
hide-window option didn't work on macOS from some time point, anyways
2023-03-17 16:00:34 +01:00
Martin Pulec
a7997ef86a border vo pp: rewritten to C 2023-03-17 16:00:29 +01:00
Martin Pulec
992ab73530 blank,grayscale,mirror,resize cf: rewritten to C 2023-03-17 15:04:29 +01:00
Martin Pulec
f8fc628512 glsl_compile_link: print errors only if failed
Windows logs "No errors." if it succeeds, which doesn't need to be
printed out. Print the log only if either failed orin verbose mode.
2023-03-17 14:11:36 +01:00
Martin Pulec
1dff77f9c1 display cap. f.: usage if not given + warn
- print a warning if no configuration was given (is mandatory)
- warn that the display is experimental
2023-03-17 14:11:36 +01:00