47 Commits

Author SHA1 Message Date
Cameron Gutman
3aa2463856 Add a special error code for early termination 2020-12-24 11:21:47 -06:00
Cameron Gutman
97ca7b099f Report frames to the control stream code before FEC reconstruction 2020-12-24 11:08:31 -06:00
Cameron Gutman
8dc304bcd3 Fix more warnings 2020-12-05 23:30:25 -06:00
Cameron Gutman
0ead0df2a1 Remove usage of long types for LP64 and LLP64 consistency 2020-12-05 16:51:03 -06:00
Cameron Gutman
333382ae74 Use stdint types for ByteBuffer 2020-11-30 22:03:24 -06:00
Cameron Gutman
5f9f7ce407 Code cleanup: use stdbool.h 2020-11-30 20:38:13 -06:00
Cameron Gutman
b59007cdea Fix server-side log spam caused by sending unused command 0x0201 2020-08-09 11:46:49 -07:00
Cameron Gutman
b46e06fcf1 Terminate the connection if video isn't received for 10 seconds 2020-05-01 19:25:24 -07:00
Cameron Gutman
2a02569c5c Avoid 10 second delay on graceful termination with GFE 3.20.3.63 2020-04-09 17:28:34 -07:00
Cameron Gutman
c3ab74b8af Reduce ENet retransmission delay by sleeping for shorter periods between polls 2020-03-29 14:35:24 -07:00
Cameron Gutman
2fc278da00 Change errorCode to int for consistency between 32-bit and 64-bit platforms
Unfortunately this requires updating all client code that uses these callbacks.
2020-02-24 23:01:22 -08:00
Cameron Gutman
25528671d2 Fix error value on control stream and RTSP handshake failure 2019-11-02 21:28:05 -07:00
Cameron Gutman
dca2205ac8 Fix assert failure on control stream establishment failure 2019-11-02 21:27:35 -07:00
Cameron Gutman
c322ed9437 Terminate with the given error code if the disconnect timeout expires instead of -1 2019-07-23 23:41:48 -04:00
Cameron Gutman
31aa893acd Name our threads on Linux 2019-05-03 18:54:40 -07:00
Cameron Gutman
d6971983aa Use an interruptible sleep to allow our threads to exit sooner 2019-04-06 15:26:59 -07:00
Cameron Gutman
9220fcb8e8 Require 2 intervals of 15% frame loss or one of 30% frame loss to trigger the poor connection warning 2019-04-06 12:23:36 -07:00
Cameron Gutman
e9bc1070b7 Tune thresholds for poor connection warning 2019-03-18 20:21:02 -07:00
Cameron Gutman
71a69204e9 Add a connection status callback to notify when the connection becomes lossy 2019-03-17 01:37:09 -07:00
Cameron Gutman
6eb17a8e73 Fix build warnings 2019-02-26 23:44:10 -08:00
Cameron Gutman
83d7f675a7 Fix sign extension bug in connection termination error code 2019-02-12 22:24:18 -08:00
Cameron Gutman
eb6bfe0205 Ensure graceful ENet disconnect after handling pending receives 2019-02-10 02:19:15 -08:00
Cameron Gutman
b7ce1bedbe Handle ENet disconnect events after receives 2019-02-10 01:42:49 -08:00
Cameron Gutman
6232935a1a Optimize sendMessageEnet() with fewer allocations and less time holding locks 2019-02-10 01:09:27 -08:00
Cameron Gutman
cf4de951cb Use the termination reason from the server when calling the termination callback 2019-02-10 00:49:03 -08:00
Cameron Gutman
aa9610847e Ensure termination error code is propagated properly 2019-02-09 21:30:16 -08:00
Cameron Gutman
fa86e76978 Implement gamepad rumble support 2019-02-08 19:13:53 -08:00
Cameron Gutman
9360adb39a Fix invalid reference frame invalidation payload when dropping an early frame
This bug causes the request to be discarded on GFE 3.17.
2019-01-18 01:37:02 -08:00
Cameron Gutman
8665d80697 Don't expect responses for ENet control messages to fix GFE 3.16 2018-11-15 12:55:22 -08:00
Cameron Gutman
77b277d05e Inform the host of disconnect immediately so it can clean up properly 2018-06-09 21:37:42 -07:00
Cameron Gutman
069f1475b6 Refactor reference frame invalidation checks into one function 2017-11-30 23:14:11 -08:00
Cameron Gutman
26fe1cb22c Separate H.265 video format for SDR and HDR formats 2017-11-25 12:12:38 -08:00
Cameron Gutman
965657523d Improve debug output during frame loss 2017-06-07 22:49:54 -07:00
Cameron Gutman
4791f62688 Add additional asserts that were useful for debugging corruption caused by the bug fixed in a499413221 2017-06-06 02:55:25 -07:00
Cameron Gutman
e2c6104251 Fix build error with LC_DEBUG defined 2017-06-05 22:26:38 -07:00
Cameron Gutman
92951e1309 Add LiInterruptConnection() to interrupt LiStartConnection() 2017-05-21 12:24:22 -07:00
Cameron Gutman
9ebb429f66 Fix null check typo 2017-05-21 10:59:47 -07:00
Cameron Gutman
b3b5ee1c2c Fix use of enetMutex during connection failure 2017-05-21 10:52:44 -07:00
Cameron Gutman
bfd368769e Force an IDR frame request when the decode unit queue overflows 2017-05-20 17:32:02 -07:00
Cameron Gutman
2d7bf5be82 Fix state cleanup if LiStartConnection() fails 2017-05-18 09:52:50 -07:00
Cameron Gutman
ec6c569130 Split reference frame invalidation support capabilities into codec-specific options 2017-05-15 23:11:37 -07:00
Cameron Gutman
f57bd745b4 API update to provide enough information to support GFE 3.0.7 2016-10-05 17:23:59 -07:00
Cameron Gutman
293c6a7274 Fix IDR frame requests on Gen 3 servers 2016-09-24 13:07:30 -07:00
Cameron Gutman
8846493eb4 Fix unsafe modification of the peer variable during shutdown 2016-04-18 16:36:45 -04:00
Cameron Gutman
d5e0950ec6 Wrap enet_host_service() to hide the logic required to make retransmissions work 2016-04-18 16:27:50 -04:00
Cameron Gutman
33deb0fe1a Allow ENet to directly use the resolved address rather than doing DNS resolution itself 2016-04-02 14:08:06 -04:00
Cameron Gutman
48a5d63045 Reorganize the folder structure and delete the Xcode build files 2016-03-31 07:22:03 -04:00