Commit Graph

489 Commits

Author SHA1 Message Date
Cameron Gutman
2f80145b8e Change crypto::aes_t to variable size and cleanup some crypto code 2024-01-19 18:57:58 -06:00
Cameron Gutman
6b5a712506 Normalize IPv4-mapped IPv4 addresses before checking PC/LAN/WAN type 2024-01-19 18:57:58 -06:00
Cameron Gutman
3d6e7f447a Refactor audio encryption to use new encryption flags 2024-01-19 18:57:58 -06:00
Cameron Gutman
77b0bab374 Pass launch_session_t directly into session::alloc() 2024-01-19 18:57:58 -06:00
Rafael
2e995355dc fix(linux)!: use XDG spec for fetching Linux configuration directory (#2034) 2024-01-18 21:24:55 -05:00
Cameron Gutman
21e4450ee1 Fix stream disconnecting when reconfiguring display in X11 2024-01-18 19:14:45 -06:00
Cameron Gutman
404b434754 Fix starvation of encoder thread when not receiving new captured frames
This often happens when switching to the UAC secure desktop.
2024-01-18 19:14:45 -06:00
Cameron Gutman
f64712f277 Always reset the thread desktop before calling DuplicateOutput()
Otherwise capture will fail if the thread desktop is different than the current input desktop (ex: UAC secure desktop is active)
2024-01-18 19:14:45 -06:00
Cameron Gutman
8a86678d62 Reenumerate displays when the display is reinitialized or switched 2024-01-18 19:14:45 -06:00
Cameron Gutman
b94f8c0b50 Improve Name->DRM_MODE_CONNECTOR mapping with new types and names 2024-01-16 19:49:34 -06:00
Cameron Gutman
df2d728af7 Fix plane_it_t skipping the last entry when iterating 2024-01-16 19:49:34 -06:00
Cameron Gutman
d0049da2df Implement pen and touch support for Linux 2024-01-14 11:45:12 -06:00
Cameron Gutman
c1a3903d20 Fix absolute mouse motion being interpreted as touchscreen input 2024-01-14 11:45:12 -06:00
ReenigneArcher
937d0d810c fix: add additional pin validation (#2007) 2024-01-13 22:03:49 -05:00
Cameron Gutman
545af98459 Add a fallback to retry codec init with more lenient config options
This allows use of low_power=1 for VAAPI to allow more performant
encoding on capable Intel hardware (like we do for QSV).

This also provides a low_power=0 fallback for QSV to allow use
on old/low-end Intel GPUs that don't support low power encoding.

Finally, this also implements a fallback to deal with the AMD
driver regression on pre-RDNA cards that causes H.264 encoding
to fail with AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY.
2024-01-12 19:50:34 -06:00
Cameron Gutman
056281b745 Implement HDR support for Linux KMS capture backend (#1994)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-11 22:41:58 -06:00
Cameron Gutman
593e170da8 Implement graceful termination and group-based app tracking 2024-01-08 23:55:43 -06:00
ReenigneArcher
60c95d6385 fix(web-api): allow trailing slash on endpoints (#1985) 2024-01-06 10:56:35 -05:00
Cameron Gutman
f88df0f596 Implement support for KMS cursor plane capture (#1981) 2024-01-05 23:02:39 -06:00
ReenigneArcher
791ed48a3f fix(macos): replace depreciated AbsoluteToNanoseconds (#1986)
Co-authored-by: Cameron Gutman <2695644+cgutman@users.noreply.github.com>
2024-01-05 23:28:50 -05:00
Cameron Gutman
7d751f050e Fix EGL import for modifiers that require aux planes 2024-01-05 21:25:06 -06:00
Cameron Gutman
c7e5df5976 Refactor EGLAttrib logic into a shared function 2024-01-05 21:25:06 -06:00
James Le Cuirot
bc6cc2078e build(linux) make vaapi optional without dlopen (#1979)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-05 10:59:41 -05:00
Cameron Gutman
0dff8b16fd Use the new VAAPI dummy image support for kmsgrab too 2024-01-04 22:26:39 -06:00
Cameron Gutman
ebe01ce20b Remove useless texture size queries for every frame in display_ram_t 2024-01-04 22:26:39 -06:00
Cameron Gutman
3adf9e5967 Don't busy loop during wlgrab capture 2024-01-04 22:26:39 -06:00
Cameron Gutman
e1771de37a Fix race condition causing hangs and EGL import errors due to concurrent snapshot() calls 2024-01-04 22:26:39 -06:00
Cameron Gutman
0403ad147a Fix capturing scaled output with wlgrab 2024-01-04 22:26:39 -06:00
Cameron Gutman
1bd45ca803 Fix low-res scrolling on Linux 2024-01-04 00:51:10 -06:00
Cameron Gutman
a01a15a54b Fix termination of child processes when the parent terminates 2024-01-03 16:50:08 -06:00
Cameron Gutman
43992e7e9b Don't fail kmsgrab init entirely if a single card doesn't work 2024-01-03 16:14:18 -06:00
Cameron Gutman
0f640b8dd9 Fix clear color when rendering to VA surfaces 2024-01-03 16:14:18 -06:00
Cameron Gutman
a9b459cdb1 Use P010 instead of YUV420P10 for 10-bit VAAPI encoding 2024-01-03 16:14:18 -06:00
Cameron Gutman
beb51cc925 Correctly passthrough plane format and modifiers when importing VA surface 2024-01-03 16:14:18 -06:00
Cameron Gutman
e7a3c485ee Only keep the ViGEmBus connection alive while gamepads are attached 2024-01-02 19:32:19 -06:00
Cameron Gutman
3ca75bee19 Add option to disable native pen/touch support 2024-01-01 19:53:57 -06:00
Cameron Gutman
729922d2c0 Add option to disable high resolution scroll events 2024-01-01 19:53:57 -06:00
Cameron Gutman
6ea836c511 Add options to control gamepad autoselection heuristics
Also move gamepad type selection to the input tab while we're here
2024-01-01 19:53:57 -06:00
ReenigneArcher
852db4877d refactor(process): re-order variables to avoid unused variable when tray is disabled (#1963) 2024-01-01 19:36:00 -05:00
ReenigneArcher
c0164caaaa builds(deps): use miniupnpc package instead of submodule (#1971)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-01-01 18:48:27 -05:00
ReenigneArcher
fe3bf0ee6f fix(tray): use PROJECT_NAME definition for tooltip (#1958) 2023-12-31 16:34:33 -05:00
James Le Cuirot
64be0aa67a Fix grabbing code when DRM is enabled and X11 is disabled (#1956) 2023-12-31 15:57:45 -05:00
James Le Cuirot
d97f724e3b Use dl handle for libva's vaTerminate rather than actual function (#1955) 2023-12-31 15:10:48 -05:00
Cameron Gutman
66e31a21fb Compute the bitrate on the host side for supported clients 2023-12-30 18:27:37 -06:00
Cameron Gutman
a9f2679a49 Implement new protocol extension to match client connections together
Fixes #1804
Fixes #1862
Fixes #1852
2023-12-30 11:26:53 -06:00
Cameron Gutman
11d472362c Print a fatal warning for lack of ViGEmBus
While this is not technically fatal, it's almost certainly not what the user wants.
2023-12-29 23:01:28 -06:00
Cameron Gutman
0d7811ad43 Demote FFmpeg fatal errors
Fixes #1849
2023-12-29 23:01:28 -06:00
jensaymoo
b215fe0cd9 fix: ensure user supplied framerates are used (#1548)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-28 20:06:54 -05:00
TheElixZammuto
5bdbda90b5 Web UI migration to Vite and Vue3 and improvements to the UX (#1673)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-27 19:25:49 -05:00
zoeyjodon
a851ef6068 Extend session timeout (#1890) 2023-12-09 09:31:04 -05:00