705 Commits

Author SHA1 Message Date
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
Cameron Gutman
9fc962eb61 Use strict bitrate logic only in remote streaming mode 2019-01-01 18:45:01 -08:00
Cameron Gutman
64096db415 Include FEC overhead in specified bitrate 2019-01-01 18:21:30 -08:00
Cameron Gutman
860393536d Ensure a connection termination callback is not invoked due to calling LiInterruptConnection() 2018-12-28 15:28:56 -08:00
Cameron Gutman
dd49e5bbfd Fix video bitrate being capped at initialBitrateKbps 2018-12-21 15:07:18 -08:00
Chandler Lattin
0006beb32b Fixes RTSP session id parsing issue. (#39)
* Fixes RTSP session id parsing issue.

* Pull Request #39 changes requested.
2018-12-15 06:53:28 +06:00
Cameron Gutman
80eba25bb9 Update readme with new URL 2018-12-03 21:37:11 -08:00
Cameron Gutman
edbaa43c2c Fix back-to-back calls of LiSendMultiControllerEvent() not working properly 2018-11-25 14:50:51 -08:00
Cameron Gutman
e8dd103ed9 Use existing cleanup path for handling early-out errors 2018-11-22 12:52:11 -08:00
Cameron Gutman
e741a12a25 Ensure RemoteAddrString is nulled out just in case LiStopConnection() is called 2018-11-21 21:31:18 -08:00
Cameron Gutman
639ff18dbb Allow automatic detection of remote streaming 2018-11-21 20:52:50 -08:00
Cameron Gutman
42df6475c8 Catch forgetting to initialize packetSize field 2018-11-21 20:36:49 -08:00
Cameron Gutman
396b02a94d Test each address returned in the getaddrinfo() call and stop blindly preferring IPv4
Fixes NAT64 on iOS 12 and probably other obscure configurations
2018-11-16 00:37:38 -08:00
Cameron Gutman
d9210a6a9a Fix buffer overflow when connecting to an IPv4 address 2018-11-16 00:30:36 -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
11ea2b1053 Add more distinguishable error codes for STUN 2018-10-28 17:19:40 -07:00
Cameron Gutman
0eed722635 Add a simple STUN function for resolving external WAN addresses 2018-10-26 19:20:40 -07:00
Cameron Gutman
cd6b636dca Don't call a null pointer if a logging function is called before LiStartConnection() 2018-10-26 19:17:53 -07:00
Cameron Gutman
9396f6c528 Move resolveHostName() into PlatformSockets.c 2018-10-26 17:02:45 -07:00
Cameron Gutman
558ba488e8 Add X1 and X2 mouse buttons which are now apparently working 2018-10-03 17:54:24 -07:00
Cameron Gutman
487a62f58c Fix MSVC build issues 2018-09-25 00:56:43 -07:00
Cameron Gutman
dd7820f100 Add LiGetMillis() for clients to use for latency calculation 2018-09-25 00:47:22 -07:00
Cameron Gutman
b2ebba2167 Only disable split encode on older GFE versions 2018-09-22 20:22:10 -07:00
Cameron Gutman
718d6a4b28 Correctly declare the OPUS_MULTISTREAM_CONFIGURATION as const for AudioRendererInit functions 2018-09-13 06:18:14 -07:00
Cameron Gutman
8743ce5d08 Improve encoding rate steps for PC native resolutions 2018-09-05 18:40:47 -07:00
Cameron Gutman
884b8d0a95 Additional fixes for corrupt FEC recovery handling 2018-09-05 12:04:39 -07:00
Cameron Gutman
9c1d7ffb70 Detect packets that aren't correctly recovered by FEC 2018-09-05 01:06:25 -07:00
Cameron Gutman
dbbb88af09 More FEC fixes 2018-09-04 22:27:44 -07:00
Cameron Gutman
ddab05c56e Assert that recovered packets are valid 2018-09-04 22:13:37 -07:00
Cameron Gutman
ea0f06ded0 Derive bufferHighestSequenceNumber from the FEC info to ensure it's always accurate 2018-09-04 20:20:32 -07:00
Cameron Gutman
6e633498c3 Fix decoding of large FEC index values (greater than 255) 2018-09-04 18:46:22 -07:00
Cameron Gutman
fa7b23f339 Catch RTP FEC queue corruption earlier 2018-09-04 15:56:02 -07:00
Cameron Gutman
4a3521cfc6 Fix depacketizer state corruption if state is dropped in the middle of a frame 2018-09-04 14:35:56 -07:00
Cameron Gutman
b9290449b4 Fix queue state error (and subsequent assert) when the queue advances after a constraint violation upon reception of a packet behind the new lowest entry 2018-08-29 08:24:58 -07:00
Cameron Gutman
feb46b978e Handle EINTR to fix streaming with GDB attached 2018-08-10 15:51:17 -07:00
Cameron Gutman
72bbbb7549
Add Moonlight PC reference to readme 2018-08-06 21:34:12 -07:00
Cameron Gutman
fc124b60ce Enable slicing on HEVC if the client requests it 2018-08-04 16:37:57 -07:00
Cameron Gutman
679f6e83bb Fix HEVC streams requiring a higher bitrate to enable high quality surround audio 2018-07-27 19:04:25 -07:00
Cameron Gutman
4c47dd74ad Revert "Reduce audio bitrate when streaming with a low video bitrate" due to breakage on GFE 3.14.1 2018-07-27 19:02:27 -07:00
Cameron Gutman
d55b6bb502 Update ENet with Vita fix 2018-07-27 00:52:44 -07:00
Cameron Gutman
219d87486e Check for both EWOULDBLOCK and EAGAIN for OSes where those values differ 2018-07-21 16:12:38 -07:00