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