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 |
|
Cameron Gutman
|
c3ab74b8af
|
Reduce ENet retransmission delay by sleeping for shorter periods between polls
|
2020-03-29 14:35:24 -07:00 |
|
Cameron Gutman
|
c1b8aa266f
|
Use 10 ms audio packets on low bitrate streams to balance latency and bandwidth
|
2020-03-18 20:03:56 -07:00 |
|
Cameron Gutman
|
67390dfb94
|
Remove deprecated listener callbacks
|
2020-02-24 23:57:06 -08:00 |
|
Cameron Gutman
|
2fc278da00
|
Change errorCode to int for consistency between 32-bit and 64-bit platforms
Unfortunately this requires updating all client code that uses these callbacks.
|
2020-02-24 23:01:22 -08:00 |
|
Cameron Gutman
|
cfeb0ffd90
|
Add MODIFIER_META constant
|
2020-01-15 17:48:36 -08:00 |
|
Cameron Gutman
|
3ccacdd3be
|
Merge pull request #48 from loki-47-6F-64/master
Correct payload-length when parsing RTSP Messages
|
2020-01-11 11:50:55 -08:00 |
|
Cameron Gutman
|
e60a7ef75f
|
Add color space and color range options
|
2019-12-14 14:32:47 -08:00 |
|
Cameron Gutman
|
b0213d06a7
|
Always use DSCP marking for our AV traffic
|
2019-12-12 18:43:57 -08:00 |
|
Cameron Gutman
|
3dd9a9f1b1
|
Use RAND_bytes() instead of rand() for STUN transaction IDs
|
2019-12-08 14:49:28 -08:00 |
|
Cameron Gutman
|
f5ae5df5d0
|
Fix logic error in low bitrate audio duration selection
|
2019-12-01 19:22:16 -08:00 |
|
Cameron Gutman
|
e938d84cdb
|
Use TCP_NOOPT to restrict MSS on BSD-based OSes
|
2019-12-01 15:22:18 -08:00 |
|
Cameron Gutman
|
ceab64c46b
|
Use IP_PMTUDISC_DONT to clamp MSS on Windows
|
2019-12-01 15:00:21 -08:00 |
|
Cameron Gutman
|
e5b6a2b7a9
|
Bump RTSP_MAX_RESP_SIZE to 48 KB
|
2019-12-01 13:59:09 -08:00 |
|
Cameron Gutman
|
c1a26618d4
|
Increase audio packet duration for low bandwidth connections
|
2019-11-30 21:59:34 -06:00 |
|
Cameron Gutman
|
6b42954b47
|
Add LiGetPendingAudioDuration() function
|
2019-11-30 21:31:50 -06:00 |
|
Cameron Gutman
|
52f489bc46
|
Fix RTSP handshake errors on networks with broken PMTUD
|
2019-11-30 21:19:56 -06:00 |
|
Cameron Gutman
|
f4dad9ae8b
|
Add presentation timestamp to video frame metadata
|
2019-11-10 18:07:11 -08:00 |
|
Cameron Gutman
|
eceb7d3a2b
|
Merge pull request #46 from d3m3vilurr/vita-nonblock-socket
vita: Enable nonblock TCP socket
|
2019-11-03 21:22:20 -08:00 |
|
Cameron Gutman
|
49fd1bed3f
|
Return correct error code when RTSP receive times out
|
2019-11-02 21:42:08 -07:00 |
|
Cameron Gutman
|
25528671d2
|
Fix error value on control stream and RTSP handshake failure
|
2019-11-02 21:28:05 -07:00 |
|
Cameron Gutman
|
dca2205ac8
|
Fix assert failure on control stream establishment failure
|
2019-11-02 21:27:35 -07:00 |
|
Cameron Gutman
|
197594f38c
|
Add platform helper function to set socket non-blocking mode
|
2019-11-02 19:16:46 -07:00 |
|
Cameron Gutman
|
9bd301897a
|
Remove unnecessary field in QDU struct
|
2019-10-21 17:03:01 -07:00 |
|
Cameron Gutman
|
f988a154a3
|
Fix Linux build
|
2019-10-12 19:42:49 -07:00 |
|
Cameron Gutman
|
ea135be05a
|
Only test TCP ports if the hostname resolves to multiple addresses
|
2019-10-12 19:09:28 -07:00 |
|
Cameron Gutman
|
93ce13e43f
|
Update enet submodule to 93b080b053
|
2019-10-12 15:14:30 -07:00 |
|
Cameron Gutman
|
0cc66748ea
|
Merge pull request #45 from d3m3vilurr/vita-newlib
vita: Apply newlib changes
|
2019-10-05 10:51:26 -07:00 |
|
Cameron Gutman
|
7de68207f0
|
Fix control stream connection error on multi-homed hosts
|
2019-09-14 14:06:34 -07:00 |
|
Cameron Gutman
|
438b4f87d3
|
Rewrite STUN code to avoid requiring TCP and use multiple servers in parallel
|
2019-08-13 17:51:11 -07:00 |
|
Cameron Gutman
|
4daf496bb4
|
Merge pull request #42 from d3m3vilurr/vita-getaddrinfo
vita: Apply getaddrinfo
|
2019-08-13 17:47:03 -07:00 |
|
Cameron Gutman
|
6750cde2ab
|
Test STUN server via TCP to allow fallback if it's unreachable
|
2019-08-07 23:13:27 -07:00 |
|
Cameron Gutman
|
a9780361a3
|
Fix high-quality surround sound breaking audio when streaming over the Internet or IPv6
|
2019-08-04 15:05:40 -07:00 |
|
Cameron Gutman
|
c322ed9437
|
Terminate with the given error code if the disconnect timeout expires instead of -1
|
2019-07-23 23:41:48 -04:00 |
|
Cameron Gutman
|
25dfbcfd41
|
Implement isPrivateNetworkAddress() for IPv6
|
2019-07-15 00:16:17 -07:00 |
|
Cameron Gutman
|
6245934462
|
Fix streaming from Gen 3 servers
|
2019-07-05 21:01:14 -07:00 |
|
Cameron Gutman
|
801aaf43d6
|
Fix video on GFE 3.19
|
2019-05-27 01:27:50 -07:00 |
|
Cameron Gutman
|
dffe51e885
|
Add LiGetPendingVideoFrames() and LiGetPendingAudioFrames()
|
2019-05-07 20:25:26 -07:00 |
|
Cameron Gutman
|
59481c085a
|
Add support for requesting 20 ms audio frames for slow Opus decoders
|
2019-05-04 15:33:48 -07:00 |
|
Cameron Gutman
|
1154cb1d3d
|
Name our threads on Windows
|
2019-05-03 20:55:20 -07:00 |
|
Cameron Gutman
|
31aa893acd
|
Name our threads on Linux
|
2019-05-03 18:54:40 -07:00 |
|
Cameron Gutman
|
e01617cd17
|
Remove unused variable
|
2019-05-02 19:41:59 -07:00 |
|
Cameron Gutman
|
a7d4537274
|
Fix receive time corruption after f395d305
|
2019-04-30 23:15:40 -07:00 |
|
Cameron Gutman
|
4a82762118
|
Assert that LENTRY_INTERNAL can fit in the reserved space
|
2019-04-27 14:09:55 -07:00 |
|
Cameron Gutman
|
0b8dc80823
|
Fetch receive time only once per frame instead of once per packet
|
2019-04-26 21:51:17 -07:00 |
|
Cameron Gutman
|
fe7cb006da
|
Improve FEC queue packet submission and retrieval from O(n) to O(1)
|
2019-04-25 23:02:01 -07:00 |
|
Cameron Gutman
|
f395d3056a
|
Eliminate a copy and allocation for each incoming video packet
|
2019-04-25 22:07:03 -07:00 |
|
Cameron Gutman
|
c87d4a755e
|
Add a workaround to get low bandwidth stereo working again and a cap flag to never request HQ audio
|
2019-04-25 01:03:27 -07:00 |
|
Cameron Gutman
|
d6971983aa
|
Use an interruptible sleep to allow our threads to exit sooner
|
2019-04-06 15:26:59 -07:00 |
|
Cameron Gutman
|
9220fcb8e8
|
Require 2 intervals of 15% frame loss or one of 30% frame loss to trigger the poor connection warning
|
2019-04-06 12:23:36 -07:00 |
|
Cameron Gutman
|
40fa4ef3c8
|
Reduce NAT keepalive packet rate after connection is established
|
2019-03-24 12:54:41 -07:00 |
|
Cameron Gutman
|
e9bc1070b7
|
Tune thresholds for poor connection warning
|
2019-03-18 20:21:02 -07:00 |
|
Cameron Gutman
|
c9745855fd
|
Track leaks of mutexes and events for debugging
|
2019-03-17 12:56:27 -07:00 |
|
Cameron Gutman
|
71a69204e9
|
Add a connection status callback to notify when the connection becomes lossy
|
2019-03-17 01:37:09 -07:00 |
|
Cameron Gutman
|
4a7d28038d
|
Deprecate connection listener message callbacks
|
2019-03-17 01:34:04 -07:00 |
|
Cameron Gutman
|
6eb17a8e73
|
Fix build warnings
|
2019-02-26 23:44:10 -08:00 |
|
Cameron Gutman
|
8755529b1a
|
Add support for high-resolution scroll events
|
2019-02-26 18:48:13 -08:00 |
|
Cameron Gutman
|
708a513256
|
Initialize platform sockets in LiFindExternalAddressIP4()
|
2019-02-22 20:59:54 -08:00 |
|
Cameron Gutman
|
1673093316
|
Update ENet submodule to remove redundant Vita error codes
|
2019-02-17 09:54:29 -08:00 |
|
Cameron Gutman
|
83d7f675a7
|
Fix sign extension bug in connection termination error code
|
2019-02-12 22:24:18 -08:00 |
|
Cameron Gutman
|
a016474acc
|
Update documentation in Limelight.h
|
2019-02-10 02:59:07 -08:00 |
|
Cameron Gutman
|
eb6bfe0205
|
Ensure graceful ENet disconnect after handling pending receives
|
2019-02-10 02:19:15 -08:00 |
|
Cameron Gutman
|
b7ce1bedbe
|
Handle ENet disconnect events after receives
|
2019-02-10 01:42:49 -08:00 |
|
Cameron Gutman
|
6232935a1a
|
Optimize sendMessageEnet() with fewer allocations and less time holding locks
|
2019-02-10 01:09:27 -08:00 |
|
Cameron Gutman
|
cf4de951cb
|
Use the termination reason from the server when calling the termination callback
|
2019-02-10 00:49:03 -08:00 |
|
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 |
|