1011 Commits

Author SHA1 Message Date
Cameron Gutman
9bf09d681e Plumb Sunshine feature flags SDP attribute for protocol extensions 2023-06-18 15:52:51 -05:00
Cameron Gutman
689450954c Add pen and motion batching 2023-06-18 14:30:16 -05:00
Cameron Gutman
372eb94ed0 Expand button flags to support additional buttons with Sunshine 2023-06-18 14:03:29 -05:00
Cameron Gutman
7eea7a7971 Fix endianness issues for BE systems 2023-06-18 13:50:39 -05:00
Cameron Gutman
329c55d52f Send pointer IDs instead of touch indices 2023-06-18 13:48:55 -05:00
Cameron Gutman
cd35abbae7 Fix build 2023-06-11 19:46:13 -05:00
Cameron Gutman
ce98d4fb2f Introduce connection callbacks for trigger rumble and motion events 2023-06-11 19:42:02 -05:00
Cameron Gutman
4a48024dc8 Introduce new input extension functions for touch, pen, motion, and controller arrival 2023-06-11 19:38:22 -05:00
Cameron Gutman
7970925fe4 Introduce macro function to determine endianness 2023-06-11 19:33:24 -05:00
ns6089
284840bde7 Add support for sunshine host latency 2023-05-03 20:38:42 -05:00
Cameron Gutman
169078d0a9 Allow encoder to pick optimal ref frame count if RFI is supported by the decoder 2023-04-29 13:11:38 -05:00
Cameron Gutman
c9426a6a71 Add HDR and colorspace fields to DECODE_UNIT 2023-03-11 11:36:21 -06:00
Cameron Gutman
02f12e4448 Update enet to fix NO_MSGAPI build 2023-03-05 14:32:34 -06:00
Cameron Gutman
b77072d399 Don't use GFE modifier workaround with Sunshine 2023-02-25 13:11:54 -06:00
Cameron Gutman
d3cb8131d1 Revert "Send TCP FIN after completion of our RTSP request"
Existing servers already know how to parse our messages without this,
so we just risk breaking things with middleboxes that don't do half-closed
connections properly. We'll handle this better with encrypted RTSP.

This reverts commit 95e3e26d1297bdd9640ea491ef55ae371790794e.
2023-02-20 16:58:21 -06:00
Cameron Gutman
7e089435c7 Reduce max number of frame status reports per second 2023-02-20 16:48:12 -06:00
Cameron Gutman
55a6d58225 Fix leak 2023-02-20 16:42:23 -06:00
Cameron Gutman
207f981fd0 Send final FEC frame status info to Sunshine
This info will be used for dynamic FEC and dynamic video packet batch size.
2023-02-20 16:24:48 -06:00
Cameron Gutman
82105f2f8f Declare packetFreed as volatile 2023-02-15 01:42:48 -06:00
Cameron Gutman
c88b1bcf8e Fix integer truncation warning on MSVC 2023-02-15 01:33:32 -06:00
Cameron Gutman
54d46ca80f Put backpressure on control stream sender when the window fills up
Without any backpressure, ENet will just let packets accumulate forever.
2023-02-14 23:02:18 -06:00
Cameron Gutman
830187e4da Throttle mouse/controller message rate in the input send thread
This avoids clients from all having to handle this themselves independently.
2023-02-14 21:24:13 -06:00
Cameron Gutman
95e3e26d12 Send TCP FIN after completion of our RTSP request
This allows servers to read until a FIN, just like we do on the client.
2023-02-13 21:47:22 -06:00
Cameron Gutman
8186687093 Fix video header parsing assert with GFE 3.27 2023-02-13 21:26:47 -06:00
Mariotaku
cf0a0ced90
Use new mbedtls APIs (#75) 2023-02-13 20:31:45 -06:00
Cameron Gutman
be1a48e856 Treat WSA_IO_PENDING as a receive timeout 2023-02-13 20:20:44 -06:00
Cameron Gutman
fb12361b3f Fixed ENet to support hosts with multiple possible source addresses 2023-02-12 15:39:58 -06:00
Cameron Gutman
dc186082a7 Add protocol extension for multi-client-compatible ping support 2023-02-12 01:23:25 -06:00
HexJacaranda
5e14dbc15e Options value parsing fix 2023-02-11 15:37:52 -06:00
Cameron Gutman
07beb0f0a5 Accept any negative version as Sunshine 2023-01-16 21:38:36 -06:00
Cameron Gutman
08bb69ff7c Fix HScroll packet typedef 2023-01-16 21:24:09 -06:00
Cameron Gutman
4dbb445f8b Suppress Opus header assert with Sunshine 2023-01-16 21:13:18 -06:00
Cameron Gutman
e1a7fe84e0 Add missing return 2023-01-16 21:12:24 -06:00
Cameron Gutman
79b5ef0e1e Add Sunshine protocol extension for passing HDR metadata 2023-01-16 21:06:33 -06:00
Cameron Gutman
c9a5cea93e Add Sunshine protocol extension to support non-normalized key codes 2023-01-16 21:05:11 -06:00
Cameron Gutman
22adeb3902 Enable high resolution scroll events on Sunshine 2023-01-16 20:58:03 -06:00
Cameron Gutman
071e595766 Implement horizontal scrolling protocol extension for Sunshine 2023-01-16 20:56:51 -06:00
Cameron Gutman
ef9ad529a4 Skip PPS NALUs prepended to P-frames 2023-01-02 23:48:16 -06:00
Cameron Gutman
9da6329496 Fix integer truncation warning on MSVC 2022-12-06 17:33:43 -06:00
Cameron Gutman
5c7a5ce129 Remove overzealous assert 2022-12-06 17:23:11 -06:00
Cameron Gutman
bc00d957d3 Synthesize a PTS for hosts that don't send one 2022-12-06 17:22:02 -06:00
Cameron Gutman
8169a31ecc Fix incorrect PNV_INPUT_HEADER typedef 2022-11-22 21:30:17 -06:00
Cameron Gutman
0a87fd023d Add magic values for keyboard/mouse up/down 2022-11-22 18:27:27 -06:00
Cameron Gutman
4840e431f4 Call notifyKeyFrameReceived() before the decoder processes the frame
We don't care if the decoder processes it successfully.
2022-11-21 02:22:26 -06:00
Cameron Gutman
1e582e3e58 Improve decode unit validation 2022-11-21 02:17:47 -06:00
Cameron Gutman
549058d9d1 Assert that P-frames are not processed before IDR frames 2022-11-12 19:42:51 -06:00
Cameron Gutman
56d6b7ff5a Ensure RFI is not used when an IDR frame is needed 2022-11-12 19:22:13 -06:00
Cameron Gutman
50c0a51b10 Improve high quality audio support
High quality audio now works on IPv6 and remote connections
2022-11-04 21:44:07 -05:00
happyharryh
7d9df5b731 Update oldestRtpBaseSequenceNumber when advance the queue state 2022-10-31 20:36:55 -05:00
Cameron Gutman
6418c631ba Further improve audio FEC recovery logic when dealing with completely missing FEC blocks 2022-10-25 22:31:18 -05:00