695 Commits

Author SHA1 Message Date
Cameron Gutman
438b4f87d3 Rewrite STUN code to avoid requiring TCP and use multiple servers in parallel 2019-08-13 17:51:11 -07:00
Cameron Gutman
4daf496bb4
Merge pull request #42 from d3m3vilurr/vita-getaddrinfo
vita: Apply getaddrinfo
2019-08-13 17:47:03 -07:00
Sunguk Lee
9972440607
vita: Reduce vita custom defines 2019-08-14 01:25:08 +09:00
Sunguk Lee
787700ca50
vita: Use getaddrinfo instead gethostbyname 2019-08-14 01:25:04 +09:00
Cameron Gutman
6750cde2ab Test STUN server via TCP to allow fallback if it's unreachable 2019-08-07 23:13:27 -07:00
Cameron Gutman
a9780361a3 Fix high-quality surround sound breaking audio when streaming over the Internet or IPv6 2019-08-04 15:05:40 -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
25dfbcfd41 Implement isPrivateNetworkAddress() for IPv6 2019-07-15 00:16:17 -07:00
Cameron Gutman
6245934462 Fix streaming from Gen 3 servers 2019-07-05 21:01:14 -07:00
Cameron Gutman
801aaf43d6 Fix video on GFE 3.19 2019-05-27 01:27:50 -07:00
Cameron Gutman
dffe51e885 Add LiGetPendingVideoFrames() and LiGetPendingAudioFrames() 2019-05-07 20:25:26 -07:00
Cameron Gutman
59481c085a Add support for requesting 20 ms audio frames for slow Opus decoders 2019-05-04 15:33:48 -07:00
Cameron Gutman
1154cb1d3d Name our threads on Windows 2019-05-03 20:55:20 -07:00
Cameron Gutman
31aa893acd Name our threads on Linux 2019-05-03 18:54:40 -07:00
Cameron Gutman
e01617cd17 Remove unused variable 2019-05-02 19:41:59 -07:00
Cameron Gutman
a7d4537274 Fix receive time corruption after f395d305 2019-04-30 23:15:40 -07:00
Cameron Gutman
4a82762118 Assert that LENTRY_INTERNAL can fit in the reserved space 2019-04-27 14:09:55 -07:00
Cameron Gutman
0b8dc80823 Fetch receive time only once per frame instead of once per packet 2019-04-26 21:51:17 -07:00
Cameron Gutman
fe7cb006da Improve FEC queue packet submission and retrieval from O(n) to O(1) 2019-04-25 23:02:01 -07:00
Cameron Gutman
f395d3056a Eliminate a copy and allocation for each incoming video packet 2019-04-25 22:07:03 -07:00
Cameron Gutman
c87d4a755e Add a workaround to get low bandwidth stereo working again and a cap flag to never request HQ audio 2019-04-25 01:03:27 -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
40fa4ef3c8 Reduce NAT keepalive packet rate after connection is established 2019-03-24 12:54:41 -07:00
Cameron Gutman
e9bc1070b7 Tune thresholds for poor connection warning 2019-03-18 20:21:02 -07:00
Cameron Gutman
c9745855fd Track leaks of mutexes and events for debugging 2019-03-17 12:56:27 -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
4a7d28038d Deprecate connection listener message callbacks 2019-03-17 01:34:04 -07:00
Cameron Gutman
6eb17a8e73 Fix build warnings 2019-02-26 23:44:10 -08:00
Cameron Gutman
8755529b1a Add support for high-resolution scroll events 2019-02-26 18:48:13 -08:00
Cameron Gutman
708a513256 Initialize platform sockets in LiFindExternalAddressIP4() 2019-02-22 20:59:54 -08:00
Cameron Gutman
1673093316 Update ENet submodule to remove redundant Vita error codes 2019-02-17 09:54:29 -08:00
Cameron Gutman
dc1d0117ef
Merge pull request #40 from d3m3vilurr/revert-93707b42
Revert "vita: Redefine network error codes"
2019-02-17 09:50:05 -08:00
Sunguk Lee
d971e3bacc
Revert "vita: Redefine network error codes"
This reverts commit 93707b42e9aa1de83112000295c49c8652010e36.
2019-02-17 23:58:33 +09:00
Cameron Gutman
83d7f675a7 Fix sign extension bug in connection termination error code 2019-02-12 22:24:18 -08:00
Cameron Gutman
a016474acc Update documentation in Limelight.h 2019-02-10 02:59:07 -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
ad5dd9c940 Request haptics data from server 2019-02-09 02:16:59 -08:00
Cameron Gutman
fa86e76978 Implement gamepad rumble support 2019-02-08 19:13:53 -08:00
Cameron Gutman
924fdaf2db Fix bugs in ByteBuffer API and add BbAdvanceBuffer() 2019-02-08 19:01:51 -08:00
Cameron Gutman
dc21e28e1f Fix parsing XOR-MAPPED-ADDRESS if the optional comprehension bit is set 2019-01-22 17:35:53 -08:00
Cameron Gutman
12eebe0039 Wait for first IDR frame before enabling RFI 2019-01-19 14:44:48 -08:00
Cameron Gutman
a653f4d3e0 Fix IDR frame dropping race condition which seems to occur frequently with GFE 3.17 2019-01-18 01:50:39 -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
f884003066 Avoid accumulating audio latency from audio captured by the host before we're ready to play it 2019-01-06 13:24:36 -08:00
Cameron Gutman
610c00bf2d Only start the audio UDP ping thread when we are ready to accept samples 2019-01-03 19:59:53 -08:00