Commit Graph
100 Commits
Author SHA1 Message Date
Cameron Gutman 7ee9ea4e11 Fix RFI invalidating an extra frame each time 2017-05-21 10:11:07 -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 7aeaefd24f Add Limelog support under Android 2017-05-15 00:45:12 -07:00
Cameron Gutman 20821e7eb6 Leave the zero padding bytes on FEC-recovered packets alone. Decoders are required to cope with trailing zero bytes in NALUs and they are not safe to remove because they may actually be part of the byte stream itself. 2017-05-11 20:10:20 -07:00
Cameron Gutman 417c8be124 Add missing license 2017-05-10 10:13:06 -07:00
Cameron Gutman fe52c1848a Prevent FEC from breaking after 64K frames 2017-05-07 22:27:15 -07:00
Cameron Gutman 8a2b24e57a Fix frame queue corruption when trying to skip a frame with no buffers 2017-05-07 20:39:36 -07:00
Cameron Gutman 1439d53619 Remove unused function 2017-05-07 13:17:32 -07:00
Cameron Gutman 998650e53a Merge pull request #26 from d3m3vilurr/fix-build-openssl-1.0.x
Remove defines of EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free
2017-05-06 16:08:45 -07:00
Cameron Gutman 1eed2a65cb Merge pull request #28 from d3m3vilurr/fix-crash-on-vita
vita: Increate thread stack size
2017-05-06 16:05:06 -07:00
Cameron Gutman e7f8fd165e Fix unintentionally crashing the streamer when requesting FEC with packets sizes over 1024 2017-05-06 16:01:35 -07:00
Cameron Gutman ff4dbbb26d Fix compilation errors, warnings, and cosmetic stuff 2017-05-06 15:43:43 -07:00
Cameron Gutman 8d2dccf4ca Correctly transmit the number of controllers attached to the client 2017-02-04 20:09:34 -08:00
Cameron Gutman f1adbc1e6b Apparently we're back to 8 byte first frame headers on GFE 3.2 2016-12-13 20:24:34 -08:00
Cameron Gutman de915efaaf Wiggle the mouse at connection start to wake the display up 2016-12-13 20:23:32 -08:00
Cameron Gutman bd825776b3 Add support for GFE 3.0.7 2016-10-05 17:31:19 -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 ed2c4e716b Update enet submodule with Vita support 2016-10-05 16:45:07 -07:00
Cameron Gutman 293c6a7274 Fix IDR frame requests on Gen 3 servers 2016-09-24 13:07:30 -07:00
Cameron Gutman 86ade5204e Change message API to use const char * 2016-06-09 12:17:48 -05:00
Cameron Gutman 2103b62386 Cancel the pending IDR frame request if we got a spurious IDR frame after a stream discontinuity 2016-05-26 17:38:03 -05:00
Cameron Gutman 69c8881187 Update ENet submodule to include the MTU fix for LTE streaming 2016-05-21 18:32:39 -05:00
Cameron Gutman dddcba217b Try progressively lower receive buffer sizes until one is accepted 2016-05-08 12:10:04 -04:00
Cameron Gutman 41983369fb Remove unused member of RTP reorder queue 2016-05-08 12:06:51 -04:00
Cameron Gutman 7e5e2cebe2 Increase recv buffer of video stream from 64K to 512K for improved 4K performance 2016-05-06 14:44:16 -04:00
Cameron Gutman f69ab5dd5e Merge pull request #20 from Unknownforce351/patch-1
Increase RTP RECV BUFFER size
2016-04-27 11:12:17 -04:00
Cameron Gutman a5b5ed8d2b Return the oldest packet instead of removing it upon RTP queue constraint violation 2016-04-27 02:22:14 -04:00
Cameron Gutman be78c36fa1 Fix an overzealous compiler warning 2016-04-27 02:16:42 -04:00
Cameron Gutman 013a93bc32 Fix uninitialized memory usage in the RTP reorder queue causing assertion failures 2016-04-27 02:16:18 -04:00
Cameron Gutman 8846493eb4 Fix unsafe modification of the peer variable during shutdown 2016-04-18 16:36:45 -04:00
Cameron Gutman 597199ed92 Stop trying to disconnect the peer when aborting RTSP handshake. It's unsafe without additional synchronization. 2016-04-18 16:29:28 -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 4055fb6d77 Always try to resolve a hostname to IPv4 first 2016-04-02 14:06:43 -04:00
Cameron Gutman 61aaca31d4 Update ENet submodule 2016-03-31 11:25:50 -04:00
Cameron Gutman d408372c34 Switch to OpenSSL for input encryption with support for Gen 7 servers 2016-03-31 11:14:10 -04:00
Cameron Gutman 48a5d63045 Reorganize the folder structure and delete the Xcode build files 2016-03-31 07:22:03 -04:00
Cameron Gutman b7c7c98c45 Fix RTSP and control stream for Gen 7 servers 2016-03-29 22:21:18 -04:00
Cameron Gutman 58329dd0b2 Update common-c submodule to fix build without NO_MSGAPI 2016-03-27 22:48:51 -04:00
Cameron Gutman 3c94da1beb Fix a memory leak on OOS audio packets with a direct-submit audio player 2016-03-27 20:29:33 -04:00
Cameron Gutman ec4fc23cd7 Update to ENet compatible with PNaCl 2016-03-11 00:29:42 -08:00
Cameron Gutman 5d89f671e4 Add a note about the bundled enet submodule 2016-03-09 21:20:48 -08:00
Cameron Gutman 04b00f9e8a Fix the RTSP payload timeout being too aggressive 2016-03-08 13:13:25 -08:00
Cameron Gutman 5a92f72012 Update the ENet API to support IPv6 2016-03-07 14:33:35 -08:00
Cameron Gutman c03692c908 Additional error handling 2016-03-07 13:15:37 -08:00
Cameron Gutman daf3b992cc Update to the modified ENet API 2016-03-06 15:36:46 -08:00
Cameron Gutman 9d3fed1620 Change to our modified ENet fork 2016-03-06 15:29:02 -08:00
Cameron Gutman f91010b6e4 Fail message sending if the peer returned an error 2016-03-06 15:27:05 -08:00
Cameron Gutman eb9c881174 Set peer timeout to 10 seconds rather than the default 30 seconds 2016-03-06 15:24:36 -08:00
Cameron Gutman c42cae333d Send a best-effort disconnect event to let GFE know that we're gone. This increases reconnect reliability. 2016-03-04 03:19:19 -05:00
Cameron Gutman 3966d7ca82 Add ENet to Xcode project 2016-03-04 03:05:28 -05:00
Cameron Gutman b3337d3304 Add ENet as a submodule 2016-03-04 03:04:08 -05:00
Cameron Gutman ff6a70288b Fix an incorrect assertion 2016-03-04 03:00:02 -05:00
Cameron Gutman ef3c33c5b0 Fix warnings compiling in Xcode 2016-03-04 02:59:44 -05:00
Cameron Gutman 0a80deccde Implement control and input streams over ENet for GFE 2.11 2016-03-04 02:30:10 -05:00
Cameron Gutman 31ce0f5c87 Implement RTSP over ENet for GFE 2.11 2016-03-04 00:40:12 -05:00
Cameron Gutman c44cdffdd5 Fix compilation errors on Windows 2016-03-02 13:46:03 -05:00
Cameron Gutman 51e5b89018 Add H.265 video support 2016-03-02 06:25:19 -05:00
Cameron Gutman fbd58c60ea Disable dynamic resolution switching on Gen 5 servers 2016-02-28 14:19:03 -05:00
Cameron Gutman e1473d7a2d Fix mouse move packets on Gen 5 servers 2016-02-19 12:00:15 -05:00
Cameron Gutman 88edbd8dc1 Merge pull request #14 from irtimmer/gen5
Add support for Generation 5 servers (GFE 2.10.2+)
2016-02-19 11:45:33 -05:00
Cameron Gutman 40478fc19b Fix the bug causing the 4th controller to be unrecognized 2016-02-19 01:53:44 -05:00
Cameron Gutman a8d98284a7 When a decoder requests an IDR frame, don't submit another frame until the IDR frame arrives 2016-02-18 13:23:03 -05:00
Cameron Gutman c9d332089f Fix build with headers that only typedef fd_set without defining a struct fd_set type 2016-02-18 00:14:03 -05:00
Cameron Gutman c680a76289 Simplify thread management since we don't need thread alerts to cancel anymore 2016-02-16 19:58:56 -05:00
Cameron Gutman 00283a7267 Fix a race condition where PltCloseThread was called before the thread was inserted into the list 2016-02-16 19:35:54 -05:00
Cameron Gutman ca870694ba Fix uninitialized variable warning 2016-02-16 10:56:24 -05:00
Cameron Gutman 1bb1e47e8a FIONBIO is not supported under NaCl so only use non-blocking connect if available 2016-02-16 10:54:24 -05:00
Cameron Gutman 1662ce1ee8 Add timeouts for connect operations 2016-02-16 10:15:01 -05:00
Cameron Gutman 42af179770 Add a 10 second read timeout to the RTSP connection 2016-02-16 09:31:33 -05:00
Cameron Gutman 8b6ca3d89b Remove unsafe cancellation code from events 2016-02-16 09:17:59 -05:00
Cameron Gutman ac52faa6c2 Fix failure to restart after calling LiStopConnection 2016-02-16 09:04:21 -05:00
Cameron Gutman 9e592ad3c6 Simplify some Darwin-specific code paths 2016-02-16 08:59:54 -05:00
Cameron Gutman 5de8f4c98c Fix UDP thread terminations 2016-02-15 18:46:14 -05:00
Cameron Gutman ceb9504ade Fix another double free 2016-02-15 18:11:12 -05:00
Cameron Gutman 167d344e39 Add a shutdown function for UDP sockets 2016-02-15 17:45:29 -05:00
Cameron Gutman e5a6297d30 Kill TCP sockets in 2 stages to fix a race condition during socket closure 2016-02-15 17:26:34 -05:00
Cameron Gutman c18e334cd4 Fix control stream shutdown 2016-02-15 17:12:27 -05:00
Cameron Gutman 343eeccaa9 Fix double-free of packet buffer 2016-02-15 17:11:42 -05:00
Cameron Gutman 67b70e9cbd Implement queue shutdown 2016-02-15 17:00:31 -05:00
Cameron Gutman cb43494cd0 Fix buffer leak when the audio receive thread dies 2016-02-15 16:19:40 -05:00
Cameron Gutman a933886537 Fix build on Windows 2016-02-15 16:05:59 -05:00
Cameron Gutman d7f40ec39b Begin work to remove use of thread cancellation for NaCl 2016-02-15 15:58:42 -05:00
Cameron Gutman b2be459ff3 Don't call sigaction() when building for NaCl 2016-02-15 12:51:37 -05:00
Cameron Gutman cbbe251f50 Code within extern "C" should not be indented 2016-02-15 12:50:18 -05:00
Cameron Gutman 21ec3f0270 Build fixes for NaCl SDK 2016-02-12 21:17:08 -05:00
Cameron Gutman dfdfe4f0f6 Fix inconsistent whitespace 2016-02-06 23:46:47 -05:00
Cameron Gutman 349d1baa53 We might as well just keep the bitrate constant rather than doing all the complex logic to decide on a minimum. The dynamic scaling behavior is awful anyway. 2015-10-27 00:20:23 -07:00
Cameron Gutman 81ecd32e83 Add a comment about the mapping array order 2015-10-25 18:53:49 -07:00
Cameron Gutman b1f861ccfd Fix RTSP handshake issues with GFE 2.7 due to the addition of many new SDP attributes 2015-10-25 13:25:32 -07:00
Cameron Gutman a13e68b042 Add support for 5.1 surround sound with GFE 2.7 2015-10-25 13:08:20 -07:00
Cameron Gutman 1b3b57ed2f Update Xcode project file 2015-09-28 19:21:59 -07:00
Cameron Gutman 81f8e5427a Request 1 slice per frame when not using slicing 2015-08-17 23:02:04 -07:00
Cameron Gutman 19849a1ac5 Use a macro for specifying the slices per frame capability to allow for configurable slicing 2015-08-16 12:11:10 -07:00
Cameron Gutman 2d35d7262f Merge pull request #12 from irtimmer/disableSlicing
Place slicing behind a flag as not all video decoders support it.
2015-08-16 11:40:41 -07:00
Cameron Gutman a97e7c962a Add a better description to the new remote streaming field and rename to it be more clear about what it means 2015-08-16 10:23:48 -07:00
Cameron Gutman cc8eae2c41 Merge pull request #13 from irtimmer/remoteOptimizations
Add SDP optimizations for remote connections
2015-08-16 10:07:58 -07:00
Cameron Gutman ad7d0ef218 Add helper functions to zero callback and configuration structures for better source compatibility with future versions 2015-08-15 10:06:00 -07:00