Commit Graph

  • cf4de951cb Use the termination reason from the server when calling the termination callback Cameron Gutman 2019-02-10 00:49:03 -08:00
  • aa9610847e Ensure termination error code is propagated properly Cameron Gutman 2019-02-09 21:30:16 -08:00
  • ad5dd9c940 Request haptics data from server Cameron Gutman 2019-02-09 02:16:59 -08:00
  • fa86e76978 Implement gamepad rumble support Cameron Gutman 2019-02-08 19:13:53 -08:00
  • 924fdaf2db Fix bugs in ByteBuffer API and add BbAdvanceBuffer() Cameron Gutman 2019-02-08 19:01:51 -08:00
  • dc21e28e1f Fix parsing XOR-MAPPED-ADDRESS if the optional comprehension bit is set Cameron Gutman 2019-01-22 17:35:53 -08:00
  • 12eebe0039 Wait for first IDR frame before enabling RFI Cameron Gutman 2019-01-19 14:44:48 -08:00
  • a653f4d3e0 Fix IDR frame dropping race condition which seems to occur frequently with GFE 3.17 Cameron Gutman 2019-01-18 01:50:39 -08:00
  • 9360adb39a Fix invalid reference frame invalidation payload when dropping an early frame Cameron Gutman 2019-01-18 01:37:02 -08:00
  • f884003066 Avoid accumulating audio latency from audio captured by the host before we're ready to play it Cameron Gutman 2019-01-06 13:24:36 -08:00
  • 610c00bf2d Only start the audio UDP ping thread when we are ready to accept samples Cameron Gutman 2019-01-03 19:59:53 -08:00
  • 9fc962eb61 Use strict bitrate logic only in remote streaming mode Cameron Gutman 2019-01-01 18:45:01 -08:00
  • 64096db415 Include FEC overhead in specified bitrate Cameron Gutman 2019-01-01 18:21:30 -08:00
  • 860393536d Ensure a connection termination callback is not invoked due to calling LiInterruptConnection() Cameron Gutman 2018-12-28 15:28:56 -08:00
  • dd49e5bbfd Fix video bitrate being capped at initialBitrateKbps Cameron Gutman 2018-12-21 15:07:18 -08:00
  • 0006beb32b Fixes RTSP session id parsing issue. (#39) Chandler Lattin 2018-12-14 19:53:28 -05:00
  • 80eba25bb9 Update readme with new URL Cameron Gutman 2018-12-03 21:37:11 -08:00
  • edbaa43c2c Fix back-to-back calls of LiSendMultiControllerEvent() not working properly Cameron Gutman 2018-11-25 14:50:51 -08:00
  • e8dd103ed9 Use existing cleanup path for handling early-out errors Cameron Gutman 2018-11-22 12:52:11 -08:00
  • e741a12a25 Ensure RemoteAddrString is nulled out just in case LiStopConnection() is called Cameron Gutman 2018-11-21 21:31:18 -08:00
  • 639ff18dbb Allow automatic detection of remote streaming Cameron Gutman 2018-11-21 20:52:50 -08:00
  • 42df6475c8 Catch forgetting to initialize packetSize field Cameron Gutman 2018-11-21 20:36:49 -08:00
  • 396b02a94d Test each address returned in the getaddrinfo() call and stop blindly preferring IPv4 Cameron Gutman 2018-11-16 00:37:38 -08:00
  • d9210a6a9a Fix buffer overflow when connecting to an IPv4 address Cameron Gutman 2018-11-16 00:30:36 -08:00
  • 8665d80697 Don't expect responses for ENet control messages to fix GFE 3.16 Cameron Gutman 2018-11-15 12:55:22 -08:00
  • 11ea2b1053 Add more distinguishable error codes for STUN Cameron Gutman 2018-10-28 17:18:08 -07:00
  • 0eed722635 Add a simple STUN function for resolving external WAN addresses Cameron Gutman 2018-10-26 19:20:40 -07:00
  • cd6b636dca Don't call a null pointer if a logging function is called before LiStartConnection() Cameron Gutman 2018-10-26 19:17:53 -07:00
  • 9396f6c528 Move resolveHostName() into PlatformSockets.c Cameron Gutman 2018-10-26 17:02:45 -07:00
  • 558ba488e8 Add X1 and X2 mouse buttons which are now apparently working Cameron Gutman 2018-10-03 17:54:24 -07:00
  • 487a62f58c Fix MSVC build issues Cameron Gutman 2018-09-25 00:56:43 -07:00
  • dd7820f100 Add LiGetMillis() for clients to use for latency calculation Cameron Gutman 2018-09-25 00:47:22 -07:00
  • b2ebba2167 Only disable split encode on older GFE versions Cameron Gutman 2018-09-22 20:22:10 -07:00
  • 718d6a4b28 Correctly declare the OPUS_MULTISTREAM_CONFIGURATION as const for AudioRendererInit functions Cameron Gutman 2018-09-13 06:18:14 -07:00
  • 8743ce5d08 Improve encoding rate steps for PC native resolutions Cameron Gutman 2018-09-05 18:40:47 -07:00
  • 884b8d0a95 Additional fixes for corrupt FEC recovery handling Cameron Gutman 2018-09-05 12:04:39 -07:00
  • 9c1d7ffb70 Detect packets that aren't correctly recovered by FEC Cameron Gutman 2018-09-05 01:06:25 -07:00
  • dbbb88af09 More FEC fixes Cameron Gutman 2018-09-04 22:27:44 -07:00
  • ddab05c56e Assert that recovered packets are valid Cameron Gutman 2018-09-04 22:13:37 -07:00
  • ea0f06ded0 Derive bufferHighestSequenceNumber from the FEC info to ensure it's always accurate Cameron Gutman 2018-09-04 20:06:04 -07:00
  • 6e633498c3 Fix decoding of large FEC index values (greater than 255) Cameron Gutman 2018-09-04 18:46:22 -07:00
  • fa7b23f339 Catch RTP FEC queue corruption earlier Cameron Gutman 2018-09-04 15:56:02 -07:00
  • 4a3521cfc6 Fix depacketizer state corruption if state is dropped in the middle of a frame Cameron Gutman 2018-09-04 14:33:18 -07:00
  • b9290449b4 Fix queue state error (and subsequent assert) when the queue advances after a constraint violation upon reception of a packet behind the new lowest entry Cameron Gutman 2018-08-29 08:24:58 -07:00
  • feb46b978e Handle EINTR to fix streaming with GDB attached Cameron Gutman 2018-08-10 15:51:17 -07:00
  • 72bbbb7549 Add Moonlight PC reference to readme Cameron Gutman 2018-08-06 21:34:12 -07:00
  • fc124b60ce Enable slicing on HEVC if the client requests it Cameron Gutman 2018-08-04 16:37:38 -07:00
  • 679f6e83bb Fix HEVC streams requiring a higher bitrate to enable high quality surround audio Cameron Gutman 2018-07-27 19:04:25 -07:00
  • 4c47dd74ad Revert "Reduce audio bitrate when streaming with a low video bitrate" due to breakage on GFE 3.14.1 Cameron Gutman 2018-07-27 19:02:27 -07:00
  • d55b6bb502 Update ENet with Vita fix Cameron Gutman 2018-07-27 00:52:44 -07:00
  • 219d87486e Check for both EWOULDBLOCK and EAGAIN for OSes where those values differ Cameron Gutman 2018-07-21 16:12:38 -07:00
  • ebd0b2d3b1 Merge pull request #37 from d3m3vilurr/fix-vita Cameron Gutman 2018-07-21 15:33:54 -07:00
  • 93707b42e9 vita: Redefine network error codes Sunguk Lee 2018-07-22 06:00:17 +09:00
  • 53352c1a8e vita: No more need redefine INADDR_ANY Sunguk Lee 2018-07-22 02:51:16 +09:00
  • dabf0e9c23 Merge pull request #36 from d3m3vilurr/refix-alloca Cameron Gutman 2018-07-21 12:19:42 -07:00
  • 41248aad1e Add NEED_ALLOCA macro Sunguk Lee 2018-07-22 02:52:55 +09:00
  • 6e7965f013 Use SO_RCVTIMEO to avoid the overhead of an extra syscall per packet Cameron Gutman 2018-07-16 00:42:55 -07:00
  • a9438d1f5e Fix build on MSVC Cameron Gutman 2018-06-23 19:14:56 -07:00
  • 77b277d05e Inform the host of disconnect immediately so it can clean up properly Cameron Gutman 2018-06-09 21:37:42 -07:00
  • ed134f07d3 Fix crash when using DR_NEEDS_IDR on a non-direct submit decoder Cameron Gutman 2018-06-01 16:59:06 -07:00
  • b528ef7921 Fix uninitialized variable warning when using an invalid audio configuration Cameron Gutman 2018-05-28 10:46:42 -07:00
  • c1b954da1f Fix channel mapping error in 5.1 high quality mode Cameron Gutman 2018-05-27 20:03:08 -07:00
  • a8b01d6c29 Enable high quality surround sound when the video bitrate is over 15 Mbps Cameron Gutman 2018-05-27 18:45:09 -07:00
  • 783af66324 Reduce audio bitrate when streaming with a low video bitrate Cameron Gutman 2018-05-27 17:29:20 -07:00
  • c4692a5b5f Rework sequencing code and fix audio dropout across 64K boundary in the process Cameron Gutman 2018-02-19 00:16:32 -08:00
  • bf737dc959 Plumb clientRefreshRateX100 for modern GFE versions Cameron Gutman 2018-02-03 21:56:52 -08:00
  • cafc4d8125 Fix ENet comments Cameron Gutman 2018-01-19 20:25:54 -08:00
  • 75f5477c85 Use RTSP over TCP for GFE 3.12 and later Cameron Gutman 2018-01-09 23:01:55 -08:00
  • a0b500a834 Centralize logic to use UDP for RTSP and append Host option if we use TCP Cameron Gutman 2018-01-09 22:04:08 -08:00
  • cde117df06 Allocate enough buffer space for high quality audio packets from GFE 3.12 Cameron Gutman 2018-01-09 19:46:19 -08:00
  • f6ae7fc2b4 Improve decoder compatibility by using num_ref_frames=1 when RFI is disabled. Fixes decoder hangs on Amlogic SoCs. Cameron Gutman 2017-11-30 23:38:49 -08:00
  • deb0e69d64 HDR is a Gen7 feature Cameron Gutman 2017-11-30 23:26:32 -08:00
  • 069f1475b6 Refactor reference frame invalidation checks into one function Cameron Gutman 2017-11-30 23:14:11 -08:00
  • 26fe1cb22c Separate H.265 video format for SDR and HDR formats Cameron Gutman 2017-11-25 12:12:38 -08:00
  • 1c386a8987 Fix race condition that could result in loss of NALUs in an IDR frame Cameron Gutman 2017-11-13 10:15:43 -08:00
  • 314a5937f4 Set encoder feature flags to disable split frame encode on GFE 3.10 Cameron Gutman 2017-11-10 00:09:15 -08:00
  • a135ceaa9a Add support for HDR streaming Cameron Gutman 2017-10-11 23:21:43 -07:00
  • d2229fd6a8 Update SDP attributes for better 4K streaming Cameron Gutman 2017-10-11 22:59:30 -07:00
  • c0596ad1df Add the ability for clients to reduce bitrate when HEVC is used Cameron Gutman 2017-09-25 21:36:23 -07:00
  • 957b1de1ad Fix double-free and memory leak in RTSP option parsing failure path Cameron Gutman 2017-09-02 16:09:22 -07:00
  • 454fdccffc Fix possible lost wakeups by acquring event mutex in signal path Cameron Gutman 2017-08-20 00:24:51 -07:00
  • e3dadc3c08 Fix a couple files with bogus permissions Cameron Gutman 2017-08-20 00:05:30 -07:00
  • 047cdca847 Update README.md Cameron Gutman 2017-08-14 00:13:37 -07:00
  • 9c37b57510 Use a 24-bit rounding mask to correctly round SPI and restore SPI asserts Cameron Gutman 2017-06-11 14:52:56 -07:00
  • c51bfdc9cb Remove packet loss reporting, since it will be unreliable due to the FEC queue in front of the depacketizer Cameron Gutman 2017-06-11 14:50:21 -07:00
  • 3579265560 The SPI assert can still wrap on a long running stream and doesn't provide a ton of value anyway, so let's just kill it Cameron Gutman 2017-06-11 13:30:32 -07:00
  • 05c0fd68e3 Merge pull request #31 from irtimmer/audio_context Cameron Gutman 2017-06-11 13:25:09 -07:00
  • fdb256185a Merge pull request #32 from irtimmer/customlog Cameron Gutman 2017-06-11 13:22:51 -07:00
  • 88f95c7871 Remove a dangerous short cast that was causing incorrect wrapping of the packet index and a few other unnecessary casts Cameron Gutman 2017-06-11 12:55:44 -07:00
  • 10e0acba4a Use application callback instead of standard error stream for logging Iwan Timmer 2017-06-11 18:02:39 +02:00
  • 99cfae7acc Add receive time to decode unit Cameron Gutman 2017-06-10 16:08:52 -07:00
  • 4113108f23 Remove extra depacketizer code handling packet sequencing since RTP FEC queue does that now Cameron Gutman 2017-06-10 15:52:20 -07:00
  • b83cafe845 Ensure FEC is always enabled Cameron Gutman 2017-06-10 15:51:05 -07:00
  • 4134ea3c23 Prevent the depacketizer from receiving parity packets Cameron Gutman 2017-06-10 15:42:51 -07:00
  • 6fb3472aec Add a frame number field to the decode unit struct Cameron Gutman 2017-06-10 13:41:21 -07:00
  • c386569754 Remove length prefix on video buffers Cameron Gutman 2017-06-10 12:41:03 -07:00
  • af6f13c7fa Use clock_gettime() for better timestamps on platforms that support it Cameron Gutman 2017-06-10 12:07:25 -07:00
  • c01deff683 Fix LC_DEBUG not working if NDEBUG is defined Cameron Gutman 2017-06-08 18:50:21 -07:00
  • 634031839c Use isBefore() for sequence number comparison Cameron Gutman 2017-06-08 00:30:29 -07:00
  • 965657523d Improve debug output during frame loss Cameron Gutman 2017-06-07 22:49:54 -07:00