Cameron Gutman
|
6fb3472aec
|
Add a frame number field to the decode unit struct
|
2017-06-10 13:41:21 -07:00 |
|
Cameron Gutman
|
c386569754
|
Remove length prefix on video buffers
|
2017-06-10 12:55:50 -07:00 |
|
Cameron Gutman
|
af6f13c7fa
|
Use clock_gettime() for better timestamps on platforms that support it
|
2017-06-10 12:07:25 -07:00 |
|
Cameron Gutman
|
c01deff683
|
Fix LC_DEBUG not working if NDEBUG is defined
|
2017-06-08 18:50:21 -07:00 |
|
Cameron Gutman
|
634031839c
|
Use isBefore() for sequence number comparison
|
2017-06-08 00:30:29 -07:00 |
|
Cameron Gutman
|
965657523d
|
Improve debug output during frame loss
|
2017-06-07 22:49:54 -07:00 |
|
Cameron Gutman
|
6b2de18481
|
Don't wait for a parity packet to submit a completed frame
|
2017-06-07 22:46:13 -07:00 |
|
Cameron Gutman
|
3deba8de7e
|
Reduce video latency by 1 frame by not waiting for the next frame to signal us to give the current frame to the decoder. Also avoid giving partially reconstructed frames to the depacketizer because it can get confused with certain packet loss patterns.
|
2017-06-07 21:52:49 -07:00 |
|
Cameron Gutman
|
1a2996a49a
|
Various minor fixes to the FEC queue
|
2017-06-07 21:48:04 -07:00 |
|
Cameron Gutman
|
4791f62688
|
Add additional asserts that were useful for debugging corruption caused by the bug fixed in a499413221
|
2017-06-06 02:55:25 -07:00 |
|
Cameron Gutman
|
a499413221
|
Fix the buffer data packets value being truncated on very large frames causing an out of bounds buffer access in reed_solomon_reconstruct()
|
2017-06-06 02:07:13 -07:00 |
|
Cameron Gutman
|
9a7519937e
|
Remove unused memory allocation
|
2017-06-06 00:49:46 -07:00 |
|
Cameron Gutman
|
e2c6104251
|
Fix build error with LC_DEBUG defined
|
2017-06-05 22:26:38 -07:00 |
|
Cameron Gutman
|
6e31c21815
|
Round down the specified packet size to the nearest multiple of 16 rather than forcing 1024 all the time
|
2017-05-26 21:17:43 -07:00 |
|
Cameron Gutman
|
86447399a9
|
Add start and stop callbacks for audio and video renderers
|
2017-05-21 12:50:53 -07:00 |
|
Cameron Gutman
|
92951e1309
|
Add LiInterruptConnection() to interrupt LiStartConnection()
|
2017-05-21 12:24:22 -07:00 |
|
Cameron Gutman
|
9ebb429f66
|
Fix null check typo
|
2017-05-21 10:59:47 -07:00 |
|
Cameron Gutman
|
b3b5ee1c2c
|
Fix use of enetMutex during connection failure
|
2017-05-21 10:52:44 -07:00 |
|
Cameron Gutman
|
109472e4ab
|
Fix bogus queue assert firing on failed connection
|
2017-05-21 10:37:34 -07:00 |
|
Cameron Gutman
|
eaf3355c96
|
Reduce socket read timeout to 100 ms to allow LiStopConnection() to complete faster
|
2017-05-21 10:29:00 -07:00 |
|
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 |
|