677 Commits

Author SHA1 Message Date
Cameron Gutman
38fe65f8bd Remove unused variable 2020-08-29 21:09:35 -07:00
Cameron Gutman
1b022a0d05 Terminate the connection if we can't receive a key frame in 10 seconds 2020-08-29 21:00:05 -07:00
Cameron Gutman
a89fcb8a46 Always use the test port 2020-08-29 19:14:53 -07:00
Cameron Gutman
9064d4931f Add createSocket() helper to reduce code duplication 2020-08-29 18:54:11 -07:00
Cameron Gutman
feaca5b5b0 Use resolveHostName() instead of getaddrinfo() and connectTcpSocket() directly 2020-08-29 18:27:02 -07:00
Cameron Gutman
e74fe2b016 Fix socket errors being clobbered by closeSocket() 2020-08-28 18:48:15 -07:00
Cameron Gutman
5ddd53e17f Enable media streaming mode for 802.11 WLAN interfaces on Windows 2020-08-11 22:12:58 -07:00
Cameron Gutman
f2c1d03d8e Don't bother doing any connection testing if no ports were specified 2020-08-09 12:08:16 -07: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
ae00c09cb6 Restore the 500 ms ping logic to prevent warnings in the server-side logs 2020-08-08 23:16:55 -07:00
Cameron Gutman
2fdcfb9429 Accept IPv6 addresses for network testing to support NAT64 2020-08-06 21:59:17 -07:00
Cameron Gutman
453c722fa8 Add LiGetPortFlagsFromTerminationErrorCode() 2020-08-06 21:43:18 -07:00
Cameron Gutman
6010367637 Only allow input packets to be queued between start and stop 2020-08-06 19:12:29 -07:00
Cameron Gutman
f6927475cf Enable poll() in ENet for Linux/BSD 2020-07-27 00:03:22 -07:00
Cameron Gutman
6351749039 Fix TCP connection tests on Linux and BSD 2020-07-26 20:56:39 -07:00
Cameron Gutman
117a7c637f Switch to poll() to be safe against stack corruption from exceeding FD_SETSIZE
Fortunately, the fd_set definition is not prone to stack corruption on Windows,
because FD_SETSIZE is the maximum number of sockets in a fd_set, not
the maximum value socket file descriptor that can be stored in a fd_set.

https://beesbuzz.biz/code/5739-The-problem-with-select-vs-poll
2020-07-26 20:27:58 -07:00
Cameron Gutman
84f2421fbf Add support for client-side connectivity testing 2020-07-19 14:39:42 -07:00
Cameron Gutman
5c9935e11b Temporarily comment out validation of reserved field
FEC doesn't recover this field correctly with GFE 3.20.4.
2020-07-01 11:50:23 -05:00
Cameron Gutman
407d57a50a Update ENet submodule to fix QoS-related connection issues 2020-06-12 21:59:16 -07:00
Cameron Gutman
bea625a13d Work around rounding error in GFE's mouse position scaling 2020-05-26 18:19:53 -07:00
Cameron Gutman
0df24c76c0 Fix incorrect behavior of modifier keys on the right side of the keyboard 2020-05-26 17:33:57 -07:00
Cameron Gutman
f8ffb30e1f Don't send no-op mouse move and scroll events 2020-05-26 17:13:22 -07:00
Cameron Gutman
7b56ab755d Add batching for mouse position packets 2020-05-20 18:56:30 -07:00
Cameron Gutman
b44cad6598 Fix freeing uninitialized pointer on allocation failure 2020-05-20 18:38:58 -07:00
Cameron Gutman
c8faf3539b Replace version check with note for LiSendMousePosition() 2020-05-03 15:56:39 -07:00
Cameron Gutman
495b269a10 Disable FEC on Gen 4 and earlier and assert that FLAG_EXTENSION is present 2020-05-03 15:51:49 -07:00
Cameron Gutman
f911d974c9 Enable FEC validation mode on debug builds 2020-05-02 16:56:13 -07:00
Cameron Gutman
719f690e56 Add an assert to catch incorrectly sized video packets 2020-05-02 16:49:51 -07:00
Cameron Gutman
5ba94e0282 Add FEC validation mode to diagnose FEC recovery failures 2020-05-02 14:24:24 -07:00
Cameron Gutman
f596e80575 Improve logging of video/audio delay and errors 2020-05-01 20:23:44 -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
413ea9bc8e Minor RTSP code cleanup 2020-05-01 18:32:26 -07:00
Cameron Gutman
9ffdc79b6f Add log messages to troubleshoot problems with missing video/audio 2020-04-29 20:17:55 -07:00
Cameron Gutman
fcabfc37ad Dynamically allocate session ID string 2020-04-29 20:12:19 -07:00
Cameron Gutman
7d0458a16b Dynamically allocate the RTSP response buffer 2020-04-29 19:58:50 -07:00
Cameron Gutman
247b1fe0e3 Provide reference dimensions for mouse position data 2020-04-11 20:51:17 -07:00
Cameron Gutman
bbbf4336cc Add additional documentation for LiSendMousePositionEvent() 2020-04-11 15:59:12 -07:00
Cameron Gutman
ef7de27727 Add absolute mouse motion support 2020-04-11 15:40:50 -07:00
Cameron Gutman
f0c3b57d11 Enable QoS for ENet traffic on Windows 2020-04-09 17:42:49 -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
0cda408d3c Warn when streaming above 4K with H.264 or 8K with HEVC 2020-04-04 12:36:09 -07:00
Cameron Gutman
4f9d45fbb5 Round down odd height values to avoid NVENC initialization failure 2020-04-04 11:51:55 -07:00
Cameron Gutman
86751d9162 Move ConnectionListener initialization prior to possible Limelog() usage 2020-04-04 11:51:20 -07:00
Cameron Gutman
c2471157c0 Use EF instead of CS7 for DSCP on ENet traffic 2020-04-03 17:01:45 -07:00
Cameron Gutman
85de16b41b Add 7.1 surround sound support 2020-04-03 00:11:41 -07:00
Cameron Gutman
d9d2668473 Fix audio problems caused by stale HighQualitySurroundSupported and HighQualitySurroundEnabled values 2020-04-02 18:44:13 -07:00
Cameron Gutman
99f22fa7e9 Undeprecate AUDIO_CONFIGURATION values and add a new macro for converting AUDIO_CONFIGURATION into launch/resume parameters 2020-04-02 18:41:32 -07:00
Cameron Gutman
607aaca93f Replace AUDIO_CONFIGURATION constants with MAKE_AUDIO_CONFIGURATION() macro 2020-03-31 21:33:34 -07:00
Cameron Gutman
fb60ae6a4d Parse Opus parameters from RTSP DESCRIBE response 2020-03-31 20:52:38 -07:00
Cameron Gutman
f489c9d725 Enable QoS marking on macOS and Linux
Using SO_NET_SERVICE_TYPE on macOS seems to make a noticeable difference
to packet latency and loss rate for some users.
2020-03-29 15:45:36 -07:00