Cameron Gutman
dbfbc91971
Explicitly request an IDR frame in the IDR frame wait path
2022-10-03 18:27:57 -05:00
Cameron Gutman
a4870f619b
Frame type fields are present all the way back to GFE 3.2 (and probably further)
2022-10-03 18:26:24 -05:00
Cameron Gutman
4c62b5d23a
Fix fallback handling of RFI on older servers
2022-10-03 18:25:08 -05:00
Cameron Gutman
3593dea585
Rework RFI to work reliably with HEVC
2022-10-02 22:19:48 -05:00
Cameron Gutman
795e3f644a
Ensure the next frame after a DU drop is always an IDR frame
...
On RFI-capable decoders, this would sometimes be a P-frame
2022-10-02 21:12:01 -05:00
Cameron Gutman
3ae777f973
Try to recover if the frame header parsing fails
2022-09-24 13:43:32 -05:00
Cameron Gutman
54825845e7
Fix large frame header size for GFE 3.26
2022-09-22 21:51:11 -05:00
Cameron Gutman
50603ac16e
Fix mishandling of IDR frames with a VUI or AUD NAL
2022-09-11 23:34:38 -05:00
Cameron Gutman
e453a4d548
Add 3 byte Annex B start sequence test mode for debugging clients
2022-09-05 17:41:37 -05:00
Cameron Gutman
5a2911ffe4
Rework NALU parsing to be more robust handling 3 byte prefixes
2022-09-05 16:45:14 -05:00
Cameron Gutman
ec420615a1
Fix GCC build
2022-08-10 00:18:56 -05:00
Cameron Gutman
ef9c5a65cf
Return a better error code when the control stream connection fails
2022-08-09 23:26:33 -05:00
Cameron Gutman
c72f30da2e
Improve logging for control stream connection failure
2022-08-09 23:12:31 -05:00
Cameron Gutman
bf22101c7d
Add video format mask for 10-bit color
2022-06-26 16:19:44 -05:00
Cameron Gutman
d247873ade
Add LiSendMouseMoveAsMousePositionEvent() function
...
This is a useful option for Android and iOS where mouse acceleration
is always enabled and mouse capture is the only feasible way to get
mouse input. It can avoid double-acceleration when being used for
remote desktop mouse mode.
2022-05-28 14:58:34 -05:00
Cameron Gutman
e62dc56047
Update notes regarding enableHdr option
2022-02-07 20:16:19 -06:00
Cameron Gutman
bc458b8848
Use 15 second timeout for RTSP replies
...
GFE has an internal 10 second timeout for bringing up the streamer,
so we can end up timing out right as GFE is trying to reply to us.
2022-02-06 20:59:18 -06:00
Cameron Gutman
abc7acb5e4
Add HDR mode APIs
2022-01-28 21:29:14 -06:00
Sunguk Lee
c6d68d9e87
vita: Reduce TCPv4_MSS to 512 to avoid setsockopt error
...
`setsockopt` with 536 returned EINVAL error.
SCE would use simple value for limit
2022-01-24 22:19:09 -06:00
Sunguk Lee
4a4a23c7c4
vita: Replace select to poll
...
now newlib support [this][1]
[1]: https://github.com/vitasdk/newlib/pull/70
2022-01-24 22:16:59 -06:00
Cameron Gutman
cfe75eb569
Add workaround for keyboard and UTF-8 events interfering with each other
2022-01-17 21:56:06 -06:00
Cameron Gutman
921b59c467
Add API to wake a waiting thread in LiWaitForNextVideoFrame()
2022-01-17 14:12:11 -06:00
Cameron Gutman
6001ece0b8
Fix uninitialized variable
2021-12-12 16:04:58 -06:00
Cameron Gutman
ac1355b922
Fix excessive high-res scroll speed on newer GFE versions
2021-12-12 12:05:20 -06:00
Cameron Gutman
257029f80d
Remove redundant packet length field
2021-12-10 02:00:42 -06:00
Cameron Gutman
94d439e5c3
Fix memory corruption with UTF-8 strings over 32 bytes
2021-11-30 19:05:32 +03:00
Cameron Gutman
6a6328a355
Send each Unicode code point individually to avoid straddling packet boundaries
2021-11-30 18:28:09 +03:00
Mariotaku
5ed9a6508a
Fixed build issue with MinGW ( #64 )
2021-09-16 01:30:47 -05:00
Cameron Gutman
5b2cf1b8f7
Fix handling of hostname with multiple candidate IP addresses when using alternate ports
2021-08-14 12:30:04 -05:00
Cameron Gutman
a290ec032b
Fix relative mouse and controller batching after 74377a06
2021-08-05 22:14:35 -05:00
Cameron Gutman
8cac195fcf
Fix compilation warnings
2021-07-30 01:32:43 -05:00
Cameron Gutman
f3e37944fc
Split UTF-8 strings into chunks small enough to fit in an NV_UNICODE_PACKET
2021-07-30 01:23:53 -05:00
Cameron Gutman
74377a061b
Rework input packets based on new header knowledge
2021-07-30 01:02:35 -05:00
Cameron Gutman
ceafe7897c
Refactor input packet sending logic into a separate function
2021-07-29 23:49:58 -05:00
Mariotaku
5846a9d6aa
Added unicode input event ( #63 )
...
* Added unicode input event
* Prevents strcpy overflow
* Updated according to change requests
2021-07-29 21:36:47 -05:00
Cameron Gutman
8abc371fb4
Print warning when audio decryption fails
2021-07-17 22:57:50 -05:00
Cameron Gutman
b2c39883bf
Fix incorrect IV for encrypted control stream packets on big-endian machines
2021-07-17 22:29:30 -05:00
Cameron Gutman
d14f62c26a
Fix crash when client provides no video decoder callbacks
2021-07-17 21:55:39 -05:00
Cameron Gutman
fa892c5334
Remove SEI prefix NAL units before returning data to clients
2021-07-09 17:37:30 -05:00
Cameron Gutman
5820cc2048
Fix double-free if unencrypted packet is received on encrypted stream
2021-07-08 20:50:09 -05:00
Cameron Gutman
3b9d8a3176
Assert that the port numbers are set prior to being used
2021-07-02 01:44:11 -05:00
Cameron Gutman
cdda221d64
Log the parsed ports
2021-07-02 01:30:33 -05:00
Cameron Gutman
5ec8ee7cbf
Parse the RTSP port out of the RTSP session URL
2021-07-02 01:17:34 -05:00
Cameron Gutman
0cd3fcf1be
Fix off-by-one in port number validation
2021-07-02 01:16:20 -05:00
Cameron Gutman
46887c0447
Parse the ports from RTSP SETUP instead of RTSP DESCRIBE
...
RTSP SETUP is better because it can provide multiple IP+port candidates
2021-07-02 00:28:48 -05:00
Cameron Gutman
f05be47ed8
Replace other hardcoded ports
2021-07-02 00:27:35 -05:00
Cameron Gutman
56ccd99cc7
Dynamically determine audio, video, and control ports from RTSP DESCRIBE response
2021-07-01 23:45:33 -05:00
Cameron Gutman
2660a05084
Fix GCC build
2021-07-01 22:28:17 -05:00
Cameron Gutman
1b642fec73
Fix control flow bugs in poll() error paths
2021-07-01 22:20:09 -05:00
Cameron Gutman
52250b4815
Use O_NONBLOCK for platforms without support for FIONBIO
2021-07-01 22:15:26 -05:00