Commit Graph

78 Commits

Author SHA1 Message Date
Yukino Song
fd059e36f0 Merge remote-tracking branch 'origin/master' 2025-02-06 09:14:18 +08:00
ReenigneArcher
c2420427b1 style: adjust clang-format rules (#2186)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2025-01-19 22:34:47 -05:00
Yukino Song
1dc6465f12 Merge remote-tracking branch 'origin/master' 2025-01-14 23:43:50 +08:00
Lukas Senionis
76bea8acb9 feat(display): Configure display device based on user config (#3441) 2025-01-07 20:40:48 -05:00
Cameron Gutman
151ff8f2b9 fix(capture/macos): fix implicit conversion of NSArray (#3502) 2025-01-03 18:01:24 -05:00
Yukino Song
2619132570 Merge remote-tracking branch 'origin/master' 2024-12-14 19:02:11 +08:00
Lukas Senionis
1543f584ab feat(display)!: Add libdisplaydevice dependency and output name mapping (#2894) 2024-12-11 14:17:44 -05:00
Yukino Song
021f6a635b Merge remote-tracking branch 'origin/master' 2024-12-02 02:11:15 +08:00
Cameron Gutman
fb1f5b5a89 fix(hostname): fix handling of non-ASCII hostnames on Windows (#3382) 2024-11-09 14:05:46 -06:00
Cameron Gutman
1cab1a5a1e fix(process): avoid leaking zombies and fds in detached processes (#3379) 2024-11-07 22:15:33 -06:00
Cathy J. Fitzpatrick
a06d4aefa6 fix(macos): prevent indefinite hanging if screen capture is not granted (#3360) 2024-11-02 17:05:56 +00:00
Yukino Song
05763a0b79 Merge remote-tracking branch 'origin/master' 2024-10-06 05:29:43 +08:00
Lukas Senionis
e90b71ce62 fix(boost)!: migrate boost to 1.86 (#3256) 2024-10-03 21:42:16 -04:00
BayLee4
5bc32cdeb3 fix(macos): Touch input broken (#3240) 2024-09-29 15:59:20 +00:00
Yukino Song
1ae7157bba Add Windows clipboard support 2024-09-28 03:31:50 +08:00
Yukino Song
6e407578c3 Add QR code pairing 2024-08-31 12:04:39 +08:00
Cameron Gutman
88ce5077b0 fix(mdns): don't hardcode mDNS instance name (#3084) 2024-08-25 19:20:33 -04:00
ReenigneArcher
bf92fda969 fix(linux): enable lowlatency mode for AMD (#3088) 2024-08-25 10:50:51 -04:00
ns6089
f4dda21248 Migrate audio pipeline to float from 16-bit integer (#2873)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-07-25 21:01:43 -04:00
Cameron Gutman
81c6e61594 Implement S/G IO for non-batched sends and eliminate more data copies (#2867) 2024-07-18 02:34:56 +00:00
ns6089
037c61dc99 Implement basic network flow control (#2803)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-07-11 00:03:16 +00:00
Cathy J. Fitzpatrick
3cc12dfbe7 macOS: New implementation of service publication (#2786)
The current implementation of service publication on macOS uses
`avahi-client`, but the majority of macOS machines do not have Avahi
installed because macOS provides a native alternative (`mDNSresponder`),
meaning that there is no reason to install Avahi.

The current implementation also attempts to load the Avahi client
libraries using `dlopen(3)`, which has a variety of restrictions on
macOS, such as only being willing to load from certain directories.
Depending on where the Avahi binaries are installed, they might not
be loadable through the current invocation of `dlopen(3)`.

Instead of using an Avahi client on macOS, it makes more sense to use
the native macOS API for publishing services via `mDNSresponder`. This
commit supplies such an implementation that uses the macOS native API.
It also has the advantage of being much simpler than the previous
implementation. Furthermore, this new implementation works on all
macOS machines, because it relies only on native APIs, rather than on
third-party software that is not commonly installed on macOS.
2024-07-07 15:19:51 +00:00
ReenigneArcher
1dd4b68e1c docs(src): add examples alias and general cleanup (#2763) 2024-06-28 08:34:14 -04:00
ReenigneArcher
f3abf59fbf docs(src): fix some doxygen warnings (#2731) 2024-06-20 01:36:09 +00:00
Vithorio Polten
509576d616 feat(input/linux): add support for more virtual input devices (#2606)
Co-authored-by: ABeltramo <beltramo.ale@gmail.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-16 00:21:18 +00:00
Vithorio Polten
02ddbefd44 fix(macos): Mouse input broken in-game (#2550)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-12 17:26:02 -04:00
Vithorio Polten
ff54ab2852 fix(macos): fix broken streaming on MacOS (#2485) 2024-05-14 14:14:40 -04:00
TimmyOVO
9d5ee2f57d fix(macos/input): incorrect mouse input for non-main display (#2461) 2024-05-02 13:52:29 -04:00
TimmyOVO
9288775351 feat(macos/capture): support for capture display other than main display (#2449) 2024-04-22 14:16:26 -04:00
ReenigneArcher
8689469ea8 refactor(main): move remaining entry related code (#2127) 2024-02-11 14:15:45 -05:00
ReenigneArcher
1c50bc502b refactor(main): move map_port to network (#2115) 2024-02-09 09:15:47 -05:00
ReenigneArcher
0aa4f06c39 refactor(logging): separate logging from main (#2110) 2024-02-07 09:59:24 -05:00
Cameron Gutman
ff8c8ce3ab Skip encoder reprobing if no GPU changes have occurred 2024-02-06 20:00:24 -06:00
ReenigneArcher
76e160bb0a style(macos): various code style fixes (#2086) 2024-02-04 18:37:44 -05:00
Cameron Gutman
2008bc0eaa Use CS6 instead of CS7 for audio traffic
CS7 is reserved for network control traffic.
2024-02-02 18:30:48 -06:00
Cameron Gutman
bb3b7984f3 Add refcounting to Mac and Linux QoS state to ensure it works properly with multiple clients
This means we can't control DSCP tagging per-client, but it shouldn't pose a big problem as routers that blackhole DSCP tagged traffic are pretty rare.
2024-02-02 18:30:48 -06:00
Cameron Gutman
5c9533f6d7 Allow DSCP tagging and local traffic prioritization to be enabled separately on Mac and Linux 2024-02-02 18:30:48 -06:00
Cameron Gutman
593e170da8 Implement graceful termination and group-based app tracking 2024-01-08 23:55:43 -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
a08e2b3de6 Add comments clarifying AVBufferRef usage and ownership 2023-10-04 22:36:16 -05:00
Cameron Gutman
c56ad91693 Implement zero-copy 8/10 bit encoding for macOS 2023-10-04 22:36:16 -05:00
Cameron Gutman
e535706a09 Fix CVPixelBuffer/CMSampleBuffer ownership issues 2023-10-04 22:36:16 -05:00
Cameron Gutman
ca041f2934 Use AVVideoScalingModeResizeAspect instead of abusing extended pixels
This not only eliminates the hand-rolled aspect ratio correction (which didn't actually handle scaling),
but it also avoids us having to write to the GPU frames to add padding which improves performance.
2023-10-04 22:36:16 -05:00
Cameron Gutman
a29d2e11ea Fix only capturing a single frame on macOS 2023-10-04 22:36:16 -05:00
Cameron Gutman
ebb6a7c9a9 Specify the source address for outbound audio and video traffic (#1569) 2023-08-26 16:37:04 -05:00
Cameron Gutman
22ab9948fa Pass the environment as a const reference so nobody else is tempted to modify it 2023-08-16 21:48:16 -05:00
ns6089
68fa43a61c Add standalone NVENC encoder 2023-08-13 07:01:09 -05:00
Cameron Gutman
bd68aebe4c Implement pen and touch support for Windows 2023-08-03 19:16:09 -05:00
Cameron Gutman
50f353d183 Fix handling of gamepad feedback with multiple clients connected
We need to use the client-relative index rather than the global index
when sending feedback to the client.
2023-07-10 21:45:37 -05:00
Cameron Gutman
309fcc4142 Convert rumble_queue into a generic feedback_queue for gamepad messages 2023-07-10 21:45:37 -05:00