899 Commits

Author SHA1 Message Date
Cameron Gutman
d8b2b04bb2 Reuse pressure field in touch/pen events to provide hover distance 2023-07-22 12:33:19 -05:00
Cameron Gutman
27428e655b Move ServerCodecModeSupport values into public header 2023-07-16 15:30:55 -05:00
Cameron Gutman
9b5fbff7ba Only disable 4K H.264 RFI with GFE 2023-07-16 15:13:22 -05:00
Cameron Gutman
2ac25bebaa Send unreliable traffic as reliable when we have just one channel 2023-07-16 15:11:09 -05:00
Cameron Gutman
2d0badde9a Send zero state gyro events as reliable traffic 2023-07-12 01:05:23 -05:00
Cameron Gutman
dc803bcd33 Document the correct way to indicate arrival and removal of controllers 2023-07-09 15:24:56 -05:00
Cameron Gutman
a3b28eb4d7 Update ENet for UWP builds 2023-07-08 19:15:45 -05:00
Cameron Gutman
49fef03830 Change frameHeaderSize to uint32_t to avoid warning from promotion to signed int 2023-07-08 01:40:44 -05:00
Cameron Gutman
9205a87002 Improve validation of lastPacketPayloadLength field 2023-07-08 01:31:41 -05:00
Mariotaku
659202c3e5
fixed memcpy overlap (reported by AddressSanitizer) (#80)
* removed unneeded memcpy
2023-07-08 01:09:45 -05:00
Cameron Gutman
ed7d72c07d Fix single packet frame case for AV1 2023-07-06 01:41:15 -05:00
Cameron Gutman
190b08ecf4 Encode the final packet length in the frame header for AV1
Some decoders (Android) are very strict about trailing padding bytes.
2023-07-06 01:29:24 -05:00
Cameron Gutman
953971c9a3 Fix handling of AV1 keyframes 2023-07-05 18:45:29 -05:00
Cameron Gutman
f3b7edbd11 Overflow onto channel 0 rather than distributing
This allows the host to make some assumptions about channel IDs
2023-07-04 16:51:35 -05:00
Cameron Gutman
377d37503f Split controller motion events onto their own channels 2023-07-04 16:18:52 -05:00
Cameron Gutman
53c29f11ba Send mouse deltas reliably for now 2023-07-04 15:48:08 -05:00
Evgeniy S
befc9805ab Add workaround for missing last byte in RTSP message
Sometimes on android devices last byte is missing.
This is link to this bug in Goggle Issue Tracker:
https://issuetracker.google.com/issues/150758736?pli=1
2023-07-04 15:04:19 -05:00
Cameron Gutman
c8828d586c Don't send periodic pings as reliable traffic 2023-07-04 15:03:01 -05:00
Cameron Gutman
7608e8e69d Enforce setting serverCodecModeSupport field in SERVER_INFORMATION 2023-07-04 14:56:20 -05:00
Cameron Gutman
0095141e08 Split control data into multiple channels and optimize packet flags based on type of data
This can significantly performance on lossy networks by avoiding HOL blocking.
2023-07-04 14:49:21 -05:00
Cameron Gutman
7d59c6e14e Fix motionType value in motion packets 2023-07-04 14:18:27 -05:00
Cameron Gutman
54e1556c40 Constrain the reported controller number by the max gamepad count 2023-07-04 14:16:53 -05:00
Cameron Gutman
9ad56cdd8e Move serverCodecModeSupport into SERVER_INFORMATION struct 2023-07-02 23:54:04 -05:00
Cameron Gutman
effba1a16f Remove mention of enableHdr 2023-07-02 23:40:42 -05:00
Cameron Gutman
59a506c15a Only select 10-bit format if also compatible with client 2023-07-02 23:32:04 -05:00
Cameron Gutman
1125dc3dba Replace enableHdr option with directly receiving ServerCodecModeSupport value from XML 2023-07-02 23:28:10 -05:00
Cameron Gutman
e36bde4acc Implement AV1 codec support
This has a breaking change to StreamConfiguration that requires client updates.
2023-07-02 22:16:20 -05:00
Cameron Gutman
c0792168f5 Add LI_BATTERY_PERCENTAGE_UNKNOWN value 2023-07-02 16:42:09 -05:00
Cameron Gutman
a0f8c060c0 Introduce new protocol extensions for controller RGB LEDs and battery state 2023-07-02 14:38:54 -05:00
Cameron Gutman
c5dc45e144 Define an unknown tool type and clarify button-only events 2023-06-28 17:25:41 -05:00
Cameron Gutman
28d63b11dd Fix float values in pen events 2023-06-25 20:06:43 -05:00
Cameron Gutman
f8899f724d Add a touch event type for leaving hover 2023-06-25 16:58:12 -05:00
Cameron Gutman
8c447137d6 Fix controller arrival packet to actually contain the controller that arrived 2023-06-25 14:27:43 -05:00
Cameron Gutman
44c8b95400 Pen tilt is 0..90 not -90..90 2023-06-25 00:24:55 -05:00
Cameron Gutman
c8aac7f71c Define units for controller motion events 2023-06-24 21:28:43 -05:00
Cameron Gutman
de0efa861a Several fixes for touch and pen APIs 2023-06-24 21:25:48 -05:00
Cameron Gutman
5cbb6f210d Fix signness of pen tilt parameters 2023-06-24 15:14:17 -05:00
Cameron Gutman
812ec0e2b7 Allow exceeding 4 controllers for Sunshine hosts 2023-06-18 16:36:34 -05:00
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