Commit Graph

  • be1a48e856 Treat WSA_IO_PENDING as a receive timeout Cameron Gutman 2023-02-13 20:20:44 -06:00
  • fb12361b3f Fixed ENet to support hosts with multiple possible source addresses Cameron Gutman 2023-02-12 15:39:58 -06:00
  • dc186082a7 Add protocol extension for multi-client-compatible ping support Cameron Gutman 2023-02-12 01:23:25 -06:00
  • 5e14dbc15e Options value parsing fix HexJacaranda 2023-02-11 21:25:09 +08:00
  • 07beb0f0a5 Accept any negative version as Sunshine Cameron Gutman 2023-01-16 21:38:36 -06:00
  • 08bb69ff7c Fix HScroll packet typedef Cameron Gutman 2023-01-16 21:24:09 -06:00
  • 4dbb445f8b Suppress Opus header assert with Sunshine Cameron Gutman 2023-01-16 21:13:18 -06:00
  • e1a7fe84e0 Add missing return Cameron Gutman 2023-01-16 21:12:24 -06:00
  • 79b5ef0e1e Add Sunshine protocol extension for passing HDR metadata Cameron Gutman 2023-01-16 21:06:33 -06:00
  • c9a5cea93e Add Sunshine protocol extension to support non-normalized key codes Cameron Gutman 2023-01-16 21:05:11 -06:00
  • 22adeb3902 Enable high resolution scroll events on Sunshine Cameron Gutman 2023-01-16 20:58:03 -06:00
  • 071e595766 Implement horizontal scrolling protocol extension for Sunshine Cameron Gutman 2023-01-16 20:56:51 -06:00
  • ef9ad529a4 Skip PPS NALUs prepended to P-frames Cameron Gutman 2023-01-02 23:48:16 -06:00
  • 9da6329496 Fix integer truncation warning on MSVC Cameron Gutman 2022-12-06 17:33:43 -06:00
  • 5c7a5ce129 Remove overzealous assert Cameron Gutman 2022-12-06 17:23:11 -06:00
  • bc00d957d3 Synthesize a PTS for hosts that don't send one Cameron Gutman 2022-12-06 17:22:02 -06:00
  • 8169a31ecc Fix incorrect PNV_INPUT_HEADER typedef Cameron Gutman 2022-11-22 21:30:17 -06:00
  • 0a87fd023d Add magic values for keyboard/mouse up/down Cameron Gutman 2022-11-22 18:27:27 -06:00
  • 4840e431f4 Call notifyKeyFrameReceived() before the decoder processes the frame Cameron Gutman 2022-11-21 02:22:26 -06:00
  • 1e582e3e58 Improve decode unit validation Cameron Gutman 2022-11-21 02:17:47 -06:00
  • 549058d9d1 Assert that P-frames are not processed before IDR frames Cameron Gutman 2022-11-12 19:42:51 -06:00
  • 56d6b7ff5a Ensure RFI is not used when an IDR frame is needed Cameron Gutman 2022-11-12 19:22:13 -06:00
  • 50c0a51b10 Improve high quality audio support Cameron Gutman 2022-11-04 21:44:07 -05:00
  • 7d9df5b731 Update oldestRtpBaseSequenceNumber when advance the queue state happyharryh 2022-11-01 07:44:50 +08:00
  • 6418c631ba Further improve audio FEC recovery logic when dealing with completely missing FEC blocks Cameron Gutman 2022-10-25 22:31:18 -05:00
  • 21998586d1 Improve audio recovery when a prior FEC block was completely lost Cameron Gutman 2022-10-24 23:38:23 -05:00
  • 7ba4eea417 Don't print misleading audio FEC log messages Cameron Gutman 2022-10-23 22:09:01 -05:00
  • a2f68835f9 Fix signed comparison warning on GCC Cameron Gutman 2022-10-22 15:08:55 -05:00
  • af1dbfe505 Use APP_VERSION_AT_LEAST in a couple other places Cameron Gutman 2022-10-21 18:24:07 -05:00
  • b282c7e603 Ensure UNIX implementations of PltGetMillis() are not limited to 32 bits Cameron Gutman 2022-10-21 17:44:43 -05:00
  • 6d767a8494 Assume the platform supports clock_gettime() if CLOCK_MONOTONIC is defined Cameron Gutman 2022-10-21 17:42:56 -05:00
  • 9e52b70edf Fix handling of a drop pattern where OOS packets are late but in contiguous order from the previous point Cameron Gutman 2022-10-19 22:45:38 -05:00
  • 05a925b801 Simplify speculative RFI tracking by looking at missing shards of any type Cameron Gutman 2022-10-19 22:44:19 -05:00
  • 5f92ecafe7 Avoid triggering RFI wait code for decode unit queue overflow Cameron Gutman 2022-10-06 21:25:48 -05:00
  • 44668bd256 Distinguish speculative RFIs from normal FEC-initiated RFIs Cameron Gutman 2022-10-06 21:18:05 -05:00
  • 73f1ec64a8 Suppress speculative RFI for 5 minutes after OOS data is detected Cameron Gutman 2022-10-06 21:11:00 -05:00
  • 947d1b5aef Predictive RFI -> Speculative RFI Cameron Gutman 2022-10-06 20:46:25 -05:00
  • 9d25ebec40 Immediately report a lost frame if we find a discontinuity in the frame indices Cameron Gutman 2022-10-06 20:43:50 -05:00
  • 7d1a081fd0 Fix signature of notifyFrameLost() and add additional assert Cameron Gutman 2022-10-06 20:38:55 -05:00
  • f2dd7888f7 Immediately request an IDR frame on corrupt frame Cameron Gutman 2022-10-06 20:36:53 -05:00
  • e951302927 Disable RFI when streaming from a server that doesn't support it Cameron Gutman 2022-10-06 20:01:40 -05:00
  • 9091238861 Add another predictive RFI detection technique Cameron Gutman 2022-10-06 01:17:37 -05:00
  • 5e1be51b84 Implement predictive RFI to recover more quickly from frame loss Cameron Gutman 2022-10-05 22:04:22 -05:00
  • 9240090983 Add LiRequestIdrFrame() API for requesting an IDR frame on demand Cameron Gutman 2022-10-05 00:46:56 -05:00
  • 502f799a73 Add ML_ERROR_FRAME_CONVERSION error constant Cameron Gutman 2022-10-04 19:37:35 -05:00
  • bfade1d795 Add workaround for nvstreamer.exe crash on GFE 3.26 when streaming below 720x540 Cameron Gutman 2022-10-04 18:33:12 -05:00
  • 72f4f9e7b1 Disable BLL-FEC on GFE 3.26 Cameron Gutman 2022-10-04 17:51:01 -05:00
  • dbfbc91971 Explicitly request an IDR frame in the IDR frame wait path Cameron Gutman 2022-10-03 18:27:57 -05:00
  • a4870f619b Frame type fields are present all the way back to GFE 3.2 (and probably further) Cameron Gutman 2022-10-03 18:26:24 -05:00
  • 4c62b5d23a Fix fallback handling of RFI on older servers Cameron Gutman 2022-10-03 18:25:08 -05:00
  • 3593dea585 Rework RFI to work reliably with HEVC Cameron Gutman 2022-10-02 22:19:48 -05:00
  • 795e3f644a Ensure the next frame after a DU drop is always an IDR frame Cameron Gutman 2022-10-02 21:12:01 -05:00
  • 3ae777f973 Try to recover if the frame header parsing fails Cameron Gutman 2022-09-24 13:43:32 -05:00
  • 54825845e7 Fix large frame header size for GFE 3.26 Cameron Gutman 2022-09-22 21:51:11 -05:00
  • 50603ac16e Fix mishandling of IDR frames with a VUI or AUD NAL Cameron Gutman 2022-09-11 23:34:38 -05:00
  • e453a4d548 Add 3 byte Annex B start sequence test mode for debugging clients Cameron Gutman 2022-09-05 17:41:37 -05:00
  • 5a2911ffe4 Rework NALU parsing to be more robust handling 3 byte prefixes Cameron Gutman 2022-09-05 16:45:14 -05:00
  • ec420615a1 Fix GCC build Cameron Gutman 2022-08-10 00:18:56 -05:00
  • ef9c5a65cf Return a better error code when the control stream connection fails Cameron Gutman 2022-08-09 23:26:33 -05:00
  • c72f30da2e Improve logging for control stream connection failure Cameron Gutman 2022-08-09 23:12:31 -05:00
  • bf22101c7d Add video format mask for 10-bit color Cameron Gutman 2022-06-26 16:19:44 -05:00
  • d247873ade Add LiSendMouseMoveAsMousePositionEvent() function Cameron Gutman 2022-05-28 14:58:34 -05:00
  • e62dc56047 Update notes regarding enableHdr option Cameron Gutman 2022-02-07 20:16:19 -06:00
  • bc458b8848 Use 15 second timeout for RTSP replies Cameron Gutman 2022-02-06 20:59:18 -06:00
  • abc7acb5e4 Add HDR mode APIs Cameron Gutman 2022-01-28 21:29:14 -06:00
  • c6d68d9e87 vita: Reduce TCPv4_MSS to 512 to avoid setsockopt error Sunguk Lee 2020-10-26 03:59:15 +09:00
  • 4a4a23c7c4 vita: Replace select to poll Sunguk Lee 2022-01-25 00:06:24 +09:00
  • cfe75eb569 Add workaround for keyboard and UTF-8 events interfering with each other Cameron Gutman 2022-01-17 21:56:06 -06:00
  • 921b59c467 Add API to wake a waiting thread in LiWaitForNextVideoFrame() Cameron Gutman 2022-01-17 14:12:11 -06:00
  • f2e45695b2 use minimum required mbedcrypto Mariotaku 2022-01-12 12:15:25 +09:00
  • 6001ece0b8 Fix uninitialized variable Cameron Gutman 2021-12-12 16:04:58 -06:00
  • ac1355b922 Fix excessive high-res scroll speed on newer GFE versions Cameron Gutman 2021-12-12 12:05:20 -06:00
  • 257029f80d Remove redundant packet length field Cameron Gutman 2021-12-10 02:00:42 -06:00
  • 94d439e5c3 Fix memory corruption with UTF-8 strings over 32 bytes Cameron Gutman 2021-11-30 19:05:32 +03:00
  • 6a6328a355 Send each Unicode code point individually to avoid straddling packet boundaries Cameron Gutman 2021-11-30 18:28:09 +03:00
  • 8c55c086d5 Update enet submodule Cameron Gutman 2021-09-16 01:31:47 -05:00
  • 5ed9a6508a Fixed build issue with MinGW (#64) Mariotaku 2021-09-16 15:30:47 +09:00
  • 5b2cf1b8f7 Fix handling of hostname with multiple candidate IP addresses when using alternate ports Cameron Gutman 2021-08-14 12:30:04 -05:00
  • a290ec032b Fix relative mouse and controller batching after 74377a06 Cameron Gutman 2021-08-05 22:14:35 -05:00
  • 8cac195fcf Fix compilation warnings Cameron Gutman 2021-07-30 01:32:43 -05:00
  • f3e37944fc Split UTF-8 strings into chunks small enough to fit in an NV_UNICODE_PACKET Cameron Gutman 2021-07-30 01:23:53 -05:00
  • 74377a061b Rework input packets based on new header knowledge Cameron Gutman 2021-07-30 00:56:01 -05:00
  • ceafe7897c Refactor input packet sending logic into a separate function Cameron Gutman 2021-07-29 23:49:58 -05:00
  • 5846a9d6aa Added unicode input event (#63) Mariotaku 2021-07-30 11:36:47 +09:00
  • 8abc371fb4 Print warning when audio decryption fails Cameron Gutman 2021-07-17 22:57:50 -05:00
  • b2c39883bf Fix incorrect IV for encrypted control stream packets on big-endian machines Cameron Gutman 2021-07-17 22:29:30 -05:00
  • d14f62c26a Fix crash when client provides no video decoder callbacks Cameron Gutman 2021-07-17 21:55:39 -05:00
  • fa892c5334 Remove SEI prefix NAL units before returning data to clients Cameron Gutman 2021-07-09 17:37:30 -05:00
  • 5820cc2048 Fix double-free if unencrypted packet is received on encrypted stream Cameron Gutman 2021-07-08 20:50:09 -05:00
  • 3b9d8a3176 Assert that the port numbers are set prior to being used Cameron Gutman 2021-07-02 01:44:11 -05:00
  • cdda221d64 Log the parsed ports Cameron Gutman 2021-07-02 01:30:33 -05:00
  • 5ec8ee7cbf Parse the RTSP port out of the RTSP session URL Cameron Gutman 2021-07-02 01:17:34 -05:00
  • 0cd3fcf1be Fix off-by-one in port number validation Cameron Gutman 2021-07-02 01:16:20 -05:00
  • 46887c0447 Parse the ports from RTSP SETUP instead of RTSP DESCRIBE Cameron Gutman 2021-07-02 00:28:48 -05:00
  • f05be47ed8 Replace other hardcoded ports Cameron Gutman 2021-07-02 00:27:35 -05:00
  • 56ccd99cc7 Dynamically determine audio, video, and control ports from RTSP DESCRIBE response Cameron Gutman 2021-07-01 23:45:33 -05:00
  • 2660a05084 Fix GCC build Cameron Gutman 2021-07-01 22:28:17 -05:00
  • 1b642fec73 Fix control flow bugs in poll() error paths Cameron Gutman 2021-07-01 22:20:09 -05:00
  • 52250b4815 Use O_NONBLOCK for platforms without support for FIONBIO Cameron Gutman 2021-07-01 22:15:26 -05:00
  • c00f4e15ae Use poll() instead of SO_RCVTIMEO for RTSP timeout support Cameron Gutman 2021-07-01 22:10:46 -05:00