Commit Graph

61 Commits

Author SHA1 Message Date
VMFortress
5b36357133
feat(display): Add revert display config on disconnect option (#3613) 2025-01-30 16:02:22 -05: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
Lukas Senionis
76bea8acb9
feat(display): Configure display device based on user config (#3441) 2025-01-07 20:40:48 -05:00
ReenigneArcher
1e2fc2eb10
build(deps): fix boost 1.87 compatibility (#3457) 2024-12-17 08:53:55 -05:00
Cameron Gutman
73d777fa0b
feat(stream)!: remove limit on concurrent sessions and allow quitting apps with active sessions (#3325) 2024-10-24 19:11:50 -05:00
Cameron Gutman
3935d305ae
Implement S/G IO for batched sends and eliminate another frame copy (#2874) 2024-07-19 04:04:18 +00: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
Cameron Gutman
d57c66fa9c
Eliminate a redundant alloc+copy of each frame (#2852)
* Eliminate a redundant alloc+copy for each frame

* Replace std::copy_n() with std::memcpy() for better code generation
2024-07-14 12:23:19 -05:00
ns6089
18e7dfb190
Refactor periodic loggers and limit batch size for small packets (#2835)
* Refactor periodic loggers

* Limit network batch size also by packet count

Previously it was limited only by size, and exceeding 64 packets in a
single batch is asking for problems.
2024-07-13 20:55:03 +00:00
Cameron Gutman
e7c420dd6e
Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions (#2828)
* Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions

* Update nanors to fix AVX-512 memory corruption
2024-07-11 20:22:57 -05: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
ReenigneArcher
1dd4b68e1c
docs(src): add examples alias and general cleanup (#2763) 2024-06-28 08:34:14 -04:00
Gyanesh Patra
fdb443a7c6
Fix log message for Periodic Ping (#2538) 2024-05-19 17:31:14 -04:00
ReenigneArcher
2da6fb050a
fix(logging): add logging namespace and create logging::init method (#2336) 2024-04-02 20:57:57 -04:00
Cameron Gutman
83e3ea5aa7 Use a common function to abort for debugging purposes 2024-02-27 21:21:16 -06: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
dea1155983 Inform clients of graceful termination when Sunshine exits 2024-02-04 16:43:59 -06:00
Cameron Gutman
ca29eac53a Refactor RTSP handling to be session-based rather than socket-based
This is required to support per-session attributes like encryption keys during RTSP message processing.
2024-02-03 15:05:43 -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
9dfe97d405 Send the frame number in the encrypted video header 2024-01-25 23:43:30 -06:00
Cameron Gutman
65851407b1 Avoid unnecessary reallocation of the IV for every packet 2024-01-25 23:43:30 -06:00
Cameron Gutman
a10ec3a98a Drop unencrypted messages on the encrypted control stream 2024-01-19 18:57:58 -06:00
Cameron Gutman
c88fa655f5 Implement video encryption 2024-01-19 18:57:58 -06:00
Cameron Gutman
23fb07d4a2 Implement control stream v2 encryption 2024-01-19 18:57:58 -06:00
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
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
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
Elia Zammuto
dc967ccc7b
Event Ballons and Tray Icon improvements (#1561)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-09-15 20:48:51 -04:00
Cameron Gutman
62a5cd959a Implement IPv6 support 2023-08-27 18:12:02 -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
67c1fa6da7 Populate the last payload length field in the video header 2023-08-19 18:36:48 -05:00
ns6089
68fa43a61c Add standalone NVENC encoder 2023-08-13 07:01:09 -05:00
Cameron Gutman
309fcc4142 Convert rumble_queue into a generic feedback_queue for gamepad messages 2023-07-10 21:45:37 -05:00
Cameron Gutman
737be029ec Move input packet debug prints off the control stream thread
The control stream thread is extremely performance-sensitive.
2023-06-27 18:53:01 -05:00
Cameron Gutman
2571682886 Fix pessimizing move warnings on Clang 2023-05-11 20:52:44 -05:00
ReenigneArcher
4ca6dc6c8e
docs: update file level doxygen blocks (#1258) 2023-05-07 18:12:39 -04:00
ReenigneArcher
979f7f4e60
docs: improvements to source code documentation (#1236) 2023-05-07 15:01:44 -04:00
Cameron Gutman
a6d295b273 Wait for pending sessions to connect before breaking on app termination
If we don't wait, clients may fail control stream establishment if the app terminates early.
2023-05-05 17:42:59 -05:00
Cameron Gutman
eb8aaf0093 Fix graceful termination messages being discarded by Moonlight 2023-05-05 17:42:59 -05:00
Cameron Gutman
df1286ac88 Fix crash if the app terminates before the control stream is connected 2023-05-05 17:42:59 -05:00
ns6089
8347824eee Print frame processing latency to debug log 2023-05-02 23:41:13 -05:00
ns6089
bd533dc31b Extend packet header with frame processing latency 2023-05-02 23:41:13 -05:00
ReenigneArcher
21eb4eb6dd
clang: adjust formatting rules (#1015) 2023-03-27 21:45:29 -04:00
ReenigneArcher
31885434f2
docs: add doxygen (#1004) 2023-03-07 20:26:03 -05:00
Cameron Gutman
bcd5188ac5
Implement HDR support for Windows (#825) 2023-01-25 19:48:55 -06:00
Cameron Gutman
9181028bcf
HDR prep work (#808) 2023-01-23 20:54:08 -06:00
Cameron Gutman
4b642f6e01
Implement horizontal scrolling and Sunshine detection for Moonlight (#793) 2023-01-21 17:42:08 -06:00