97 Commits

Author SHA1 Message Date
loki-47-6F-64
ea9ada8d20 Trade slightly higher rumble latency for lower cpu usage 2021-09-04 12:09:12 +02:00
David Rosca
2ff9a129c0
Reduce CPU usage 2021-09-03 14:03:59 +02:00
loki
70d0be4b9a Add rumble effect on Linux 2021-07-22 18:19:25 +02:00
loki
d283900e43 add config options for select gamepad to emulate 2021-07-18 15:46:46 +02:00
loki
1fda8f6219 Support Rumble on Windows 2021-07-18 11:05:34 +02:00
loki
5ff5942258 Fix video packet corruption after error correction 2021-07-11 16:18:49 +02:00
loki
8c803e6a34 Fix lack of audio for second client when multiple clients are connected simultaniously 2021-07-11 15:27:12 +02:00
loki
fccb8d080d Merge branch 'master' into multi-block-fec 2021-07-10 17:37:47 +02:00
loki
24acfabe07 Prevent fec encoding from exceeding DATA_SHARDS_MAX 2021-07-10 17:33:25 +02:00
loki-47-6F-64
61be0eb051
Merge pull request #120 from cgutman/nvenc_linux
Add basic NVENC support on Linux
2021-07-10 17:30:51 +02:00
Cameron Gutman
43dc7cf7c0 Fix video bitstream corruption when matching replacement isn't found
NVENC doesn't always include the HEVC bitstream prefix that Sunshine
is looking to patch. When this happens replace() appends a spurious
00 00 00 01 28 NALU prefix to the end of the bitstream rather than
simply doing nothing.

This causes varying degrees of malfunctioning depending on the client,
with the worst being complete video corruption on iOS.
2021-07-09 20:04:07 -05:00
Cameron Gutman
e8feb00b33 Use a valid RTP version to fix Wireshark parsing 2021-07-09 20:01:39 -05:00
loki
7d2705424a Use extended termination error code 2021-07-09 13:26:39 +02:00
loki
b228fd371c Send back encrypted termination code 2021-07-09 12:27:38 +02:00
loki
cbd2a8269c Encrypt audio when requested by Moonlight 2021-07-08 22:44:35 +02:00
loki
7f9467d759 Add support for IDR frame request for encrypted control 2021-07-07 17:10:06 +02:00
loki
fd7a6d070b Merge branch 'master' into encrypt_control_and_audio 2021-07-06 20:54:52 +02:00
loki
3d81b0fe7a Remove redundant code 2021-07-06 20:54:29 +02:00
loki
25aa8b41a5 Don't keep reinitializing the cipher context for gcm 2021-07-06 19:11:16 +02:00
loki
a587338701 Fully encrypt control data 2021-07-05 20:58:53 +02:00
loki
616f62fb9f Add support for periodic ping 2021-07-04 17:12:41 +02:00
loki
f23fcee382 Merge branch 'audio_fec' into min_fec_packets 2021-07-04 16:29:34 +02:00
Cameron Gutman
db5a9363ba Add support for minimum required FEC packets attribute 2021-07-04 00:14:22 -05:00
Cameron Gutman
109b48a108 Implement audio FEC support 2021-07-03 18:32:33 -05:00
Cameron Gutman
118707f37a Improve audio RTP header data to better match GFE 2021-07-03 16:05:18 -05:00
loki
beb6bdfadb Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
loki
926e95f527 Fix absolute mouse coordinates with multiple monitors on Windows 2021-06-23 21:51:15 +02:00
loki
7e3abefc2c pass session event objects through safe::mail_t 2021-06-22 22:26:11 +02:00
loki
cf9eb961fc Pass global event objects through mail_t 2021-06-21 21:21:52 +02:00
loki
63d15333f2 Allow injecting more than one type of header data into video 2021-06-18 17:27:56 +02:00
loki
8e32c8e6f4 Inject VUI data in SPS header if missing 2021-06-13 21:29:32 +02:00
loki
ff1ea1a63e Use VAAPI for hardware encoding on Linux 2021-05-29 16:25:37 +02:00
loki
dcb32eaaf7 Skip error correction when a video frame is to large, the alternative is skipping the frame itself 2021-05-22 23:09:53 +02:00
loki
3d8a99f541 clang-format 2021-05-17 21:21:57 +02:00
loki
41cc9a3e80 absolute mouse coordinate support for single monitor on Linux 2021-05-11 18:01:56 +02:00
Elia Zammuto
661c8260e5 Fix Position for input::reset 2021-05-08 13:46:20 +02:00
Elia Zammuto
71b214ca43 Fix Stuck Modifiers on Disconnection 2021-05-08 13:08:07 +02:00
loki
4094aec2eb Fix bug causing video artifects when FEC is used on Moonlight 2020-05-02 23:38:33 +02:00
loki
e10c9a1fa1 Exit gracefully if a port is bound by another process 2020-04-26 23:37:47 +02:00
loki
1862662b3a Prevent queue from growing to large, eating up all memory 2020-04-24 22:10:08 +02:00
loki
c7d6e959e0 Fix stream not closing properly when exiting app 2020-04-16 15:35:12 +02:00
loki
ad7f93c3cb Switch between nvenc and software encoding 2020-04-14 00:59:43 +03:00
loki
7edaa0cce0 Encode with nvenc smoothly 2020-04-10 15:39:50 +03:00
loki
94181fd047 Prevent unnecessary copies of entire frames on Windows 2020-03-27 21:57:29 +01:00
loki
5bbca8f517 Don't exit when udp::socket connection refused 2020-03-17 18:01:12 +01:00
loki
5502df5512 Attempt fix receiving PING 2020-03-16 20:01:30 +01:00
loki
87779b0ec8 Additional debug messages 2020-03-16 19:15:50 +01:00
loki
92f51622cc Map session to gamepads 2020-03-15 21:22:42 +01:00
loki
b4f1ef1127 Fixed deadlock on unexpected connection loss 2020-03-14 14:38:09 +01:00
loki
1362abc70d Fix default ping_timeout config value 2020-03-01 14:06:47 +01:00