Commit Graph

  • ca4019c09f Refactor FEC queue in preparation for multi-block frame support Cameron Gutman 2021-04-26 17:09:50 -05:00
  • 8dab1ee300 Use stdint.h types for Video.h Cameron Gutman 2021-04-26 17:08:44 -05:00
  • ae92f15b0a Use SRW locks for our mutex on Windows Cameron Gutman 2021-04-25 15:04:12 -05:00
  • 13041e0323 Further optimization to avoid needless calls to EVP_aes_128_gcm() and EVP_aes_128_cbc() Cameron Gutman 2021-04-22 17:49:51 -05:00
  • 8354c403f4 Optimize OpenSSL backend to avoid redundant reinitialization Cameron Gutman 2021-04-22 17:34:48 -05:00
  • 29d2cc6d5b Improve MbedTLS implementation of AES-CBC Cameron Gutman 2021-04-22 17:08:35 -05:00
  • d7549cd953 Use array initializers compatible with MSVC Cameron Gutman 2021-04-22 00:32:41 -05:00
  • db81f1e512 Add support for audio stream encryption Cameron Gutman 2021-04-22 00:20:17 -05:00
  • 55cf1f8d30 Remove unnecessary calls to EVP_CIPHER_CTX_reset() Cameron Gutman 2021-04-22 00:17:46 -05:00
  • 625ec431eb Improve AES-CBC code in preparation for audio encryption Cameron Gutman 2021-04-21 23:59:14 -05:00
  • 3abd3af4b2 Convert 'supportsHevc' and 'enableHdr' fields to bool type Cameron Gutman 2021-04-21 23:32:43 -05:00
  • b24a71ab0b Add explicit IDR frame request packet for GFE 3.22 Cameron Gutman 2021-04-21 17:52:05 -05:00
  • 3adacb876d Fix incorrect checks for AF_INET6 Cameron Gutman 2021-04-19 23:01:17 -05:00
  • 221af82950 Add workaround for false GCC warning in CI Cameron Gutman 2021-04-18 00:15:27 -05:00
  • 76bba517b8 AppVeyor build fixes Cameron Gutman 2021-04-17 23:59:47 -05:00
  • 23a86b0455 Build with OpenSSL and MbedTLS for CI Cameron Gutman 2021-04-17 23:56:15 -05:00
  • 3979dbd082 Allow compilation on OSes without IPv6 support Cameron Gutman 2021-04-17 23:40:36 -05:00
  • bced126fdb Fix MSVC builds Cameron Gutman 2021-04-17 22:44:47 -05:00
  • 873fc6f837 Build fixes Cameron Gutman 2021-04-17 22:00:53 -05:00
  • 4304e597d8 Add byteswapping macros for big-endian systems Cameron Gutman 2021-04-17 21:43:13 -05:00
  • efaeade7a6 Small cleanup and bugfix Cameron Gutman 2021-04-17 20:24:43 -05:00
  • 98d7ceecf7 Add native MbedTLS crypto backend Cameron Gutman 2021-04-17 19:00:26 -05:00
  • d62ee951a0 Refactor OpenSSL usage into a platform-specific file to allow other crypto backends Cameron Gutman 2021-04-17 17:47:53 -05:00
  • 5782246b30 Add hack to prevent video glitching on GFE 3.22 when packets per frame exceed 120 Cameron Gutman 2021-04-09 19:30:38 -05:00
  • 31433fc5ee Minor cleanup and bugfix Cameron Gutman 2021-04-09 13:47:24 -05:00
  • 83431e557d Fix leak on each GFE 3.22 input packet Cameron Gutman 2021-04-09 13:47:00 -05:00
  • 0a00163f0b Fix audio stream init error check Cameron Gutman 2021-04-09 13:00:35 -05:00
  • cb11b76682 Fix GCC/Clang warning Cameron Gutman 2021-04-09 12:20:02 -05:00
  • 6dca9c6754 Add special termination error code for protected content Cameron Gutman 2021-04-09 11:53:03 -05:00
  • 9841a6e34d Fix parsing of termination message from GFE 3.22 Cameron Gutman 2021-04-09 11:41:59 -05:00
  • 731d52d020 Return a packet length from the decryption process Cameron Gutman 2021-04-09 10:40:28 -05:00
  • 12f0f3d6d7 Add encrypted control stream support for GFE 3.22 Cameron Gutman 2021-04-09 10:25:24 -05:00
  • f0dbee171b Consider UDP 48000 as part of RTSP for connection testing Cameron Gutman 2021-04-09 08:39:16 -05:00
  • d0c3513504 Reorder audio initialization and RTSP handshake to avoid RTSP PLAY failure on GFE 3.22 Cameron Gutman 2021-04-09 08:38:40 -05:00
  • 2c13835f32 Increase first-start audio drop for upcoming GFE 3.22 changes Cameron Gutman 2021-04-09 08:37:54 -05:00
  • c0c200e72c Fix APP_VERSION_AT_LEAST macro definition Cameron Gutman 2021-04-09 07:51:05 -05:00
  • 9b194cc700 Adjust RTSP requests to conform to GFE 3.22 changes Cameron Gutman 2021-04-09 07:46:14 -05:00
  • 9a706fd78c Temporarily switch to control protocol 9 on GFE 3.22 Cameron Gutman 2021-04-09 07:45:17 -05:00
  • 415d97aa4d Pass through input for full control stream encryption on GFE 3.22 Cameron Gutman 2021-04-09 07:44:31 -05:00
  • a51cc972d3 Add APP_VERSION_AT_LEAST() macro for cleaner GFE version checks Cameron Gutman 2021-04-09 07:26:24 -05:00
  • b528867466 Change NAL type parsing to match the spec and add AUD removal for H.264 Cameron Gutman 2021-03-29 19:27:19 -05:00
  • 8b1fbc770e Discard AUD NALs prepended to incoming frames Cameron Gutman 2021-03-28 10:34:01 -05:00
  • a64af8d8cf Fix unused variable warning on NaCl Cameron Gutman 2021-01-09 20:08:22 -06:00
  • 021fe902d9 Update ENet submodule to upstream 1.3.17 release Cameron Gutman 2021-01-09 18:46:13 -06:00
  • fd950b6452 Allow applications to reliably calculate decode unit queue delay Cameron Gutman 2020-12-31 16:08:00 -06:00
  • 3aa2463856 Add a special error code for early termination Cameron Gutman 2020-12-24 11:21:47 -06:00
  • 97ca7b099f Report frames to the control stream code before FEC reconstruction Cameron Gutman 2020-12-24 11:05:08 -06:00
  • cca2ba9aab Add LiStringifyPortFlags() helper function Cameron Gutman 2020-12-23 13:42:28 -06:00
  • 5cbd555b14 Fix thread sanitizer warnings with C11 atomics atomics Cameron Gutman 2020-12-06 00:49:10 -06:00
  • ce546b12b0 Fix undefined behavior due to shifting an int by 31 Cameron Gutman 2020-12-06 00:44:33 -06:00
  • 6dd3f9e7bc Treat GCC/Clang warnings as errors Cameron Gutman 2020-12-05 23:46:10 -06:00
  • 941ffef2ca Fix final GCC sign warnings Cameron Gutman 2020-12-05 23:45:49 -06:00
  • 8dc304bcd3 Fix more warnings Cameron Gutman 2020-12-05 23:30:25 -06:00
  • 3fddfc5557 Fix Clang warnings Cameron Gutman 2020-12-05 23:20:02 -06:00
  • ac6630ef59 Add AppVeyor CI builds Cameron Gutman 2020-12-05 18:44:19 -06:00
  • 0ead0df2a1 Remove usage of long types for LP64 and LLP64 consistency Cameron Gutman 2020-12-05 16:51:03 -06:00
  • 333382ae74 Use stdint types for ByteBuffer Cameron Gutman 2020-11-30 22:03:24 -06:00
  • 04dc3c52f6 Use safe string functions in C11 safestring Cameron Gutman 2020-11-30 21:45:57 -06:00
  • 4b4162c1a1 Fix redefinition warning for errno.h constants on Windows Cameron Gutman 2020-11-30 20:44:46 -06:00
  • 5f9f7ce407 Code cleanup: use stdbool.h Cameron Gutman 2020-11-30 20:38:13 -06:00
  • e9ee868da4 Don't enable QoS for IPv6/NAT64 either Cameron Gutman 2020-10-31 17:08:29 -05:00
  • dbf81dcb63 Don't enable QoS for remote IPv4 streams Cameron Gutman 2020-10-28 20:35:45 -05:00
  • edf08d0a60 Merge pull request #51 from d3m3vilurr/fix-vita-compile Cameron Gutman 2020-10-22 21:39:53 -05:00
  • 6195007bf3 Add missing poll header parts of the VITA Sunguk Lee 2020-10-23 02:56:11 +09:00
  • f15582a090 Update pollSockets() fallback for Vita compatibility Cameron Gutman 2020-10-22 17:20:07 -05:00
  • 4f42188c1f Test for UDP MTU issues Cameron Gutman 2020-10-10 13:03:05 -05:00
  • 327917683a Fix platform cleanup on resolveHostName() failure Cameron Gutman 2020-10-10 12:51:31 -05:00
  • dbedf938d4 Don't require linking to wlanapi.dll Cameron Gutman 2020-09-08 18:26:36 -07:00
  • 128c1503f2 Don't perform the connection test in resolveHostName() for single addresses unless required Cameron Gutman 2020-09-06 17:11:14 -07:00
  • 6ca0b93809 Ignore ICMP Port Unreachable messages on our UDP sockets Cameron Gutman 2020-09-06 13:49:26 -07:00
  • 7b024c967e Try TCP 47989 and TCP 48010 as fallbacks if 47984 doesn't work Cameron Gutman 2020-09-06 11:55:25 -07:00
  • 9e4651e460 Fix implicit function declaration warnings Cameron Gutman 2020-08-29 21:13:54 -07:00
  • 38fe65f8bd Remove unused variable Cameron Gutman 2020-08-29 21:09:35 -07:00
  • 1b022a0d05 Terminate the connection if we can't receive a key frame in 10 seconds Cameron Gutman 2020-08-29 21:00:05 -07:00
  • a89fcb8a46 Always use the test port Cameron Gutman 2020-08-29 19:14:53 -07:00
  • 9064d4931f Add createSocket() helper to reduce code duplication Cameron Gutman 2020-08-29 18:54:11 -07:00
  • feaca5b5b0 Use resolveHostName() instead of getaddrinfo() and connectTcpSocket() directly Cameron Gutman 2020-08-29 18:27:02 -07:00
  • e74fe2b016 Fix socket errors being clobbered by closeSocket() Cameron Gutman 2020-08-28 18:48:15 -07:00
  • 5ddd53e17f Enable media streaming mode for 802.11 WLAN interfaces on Windows Cameron Gutman 2020-08-11 22:10:42 -07:00
  • f2c1d03d8e Don't bother doing any connection testing if no ports were specified Cameron Gutman 2020-08-09 12:08:16 -07:00
  • b59007cdea Fix server-side log spam caused by sending unused command 0x0201 Cameron Gutman 2020-08-09 11:46:49 -07:00
  • ae00c09cb6 Restore the 500 ms ping logic to prevent warnings in the server-side logs Cameron Gutman 2020-08-08 23:16:55 -07:00
  • 2fdcfb9429 Accept IPv6 addresses for network testing to support NAT64 Cameron Gutman 2020-08-06 21:59:17 -07:00
  • 453c722fa8 Add LiGetPortFlagsFromTerminationErrorCode() Cameron Gutman 2020-08-06 21:43:18 -07:00
  • 6010367637 Only allow input packets to be queued between start and stop Cameron Gutman 2020-08-06 19:12:29 -07:00
  • f6927475cf Enable poll() in ENet for Linux/BSD Cameron Gutman 2020-07-27 00:03:22 -07:00
  • 6351749039 Fix TCP connection tests on Linux and BSD Cameron Gutman 2020-07-26 20:56:39 -07:00
  • 117a7c637f Switch to poll() to be safe against stack corruption from exceeding FD_SETSIZE Cameron Gutman 2020-07-26 19:53:52 -07:00
  • 84f2421fbf Add support for client-side connectivity testing Cameron Gutman 2020-07-19 14:39:42 -07:00
  • 5c9935e11b Temporarily comment out validation of reserved field Cameron Gutman 2020-07-01 11:50:23 -05:00
  • 407d57a50a Update ENet submodule to fix QoS-related connection issues Cameron Gutman 2020-06-12 21:59:16 -07:00
  • bea625a13d Work around rounding error in GFE's mouse position scaling Cameron Gutman 2020-05-26 18:19:53 -07:00
  • 0df24c76c0 Fix incorrect behavior of modifier keys on the right side of the keyboard Cameron Gutman 2020-05-26 17:33:57 -07:00
  • f8ffb30e1f Don't send no-op mouse move and scroll events Cameron Gutman 2020-05-26 17:13:22 -07:00
  • 7b56ab755d Add batching for mouse position packets Cameron Gutman 2020-05-20 18:56:30 -07:00
  • b44cad6598 Fix freeing uninitialized pointer on allocation failure Cameron Gutman 2020-05-20 18:24:55 -07:00
  • c8faf3539b Replace version check with note for LiSendMousePosition() Cameron Gutman 2020-05-03 15:56:39 -07:00
  • 495b269a10 Disable FEC on Gen 4 and earlier and assert that FLAG_EXTENSION is present Cameron Gutman 2020-05-03 15:51:49 -07:00
  • f911d974c9 Enable FEC validation mode on debug builds Cameron Gutman 2020-05-02 16:56:13 -07:00
  • 719f690e56 Add an assert to catch incorrectly sized video packets Cameron Gutman 2020-05-02 16:49:51 -07:00