Cameron Gutman
6f9021a5e6
Add magic performance boost for MediaTek devices
2022-06-01 22:06:11 -05:00
Cameron Gutman
18c93abcb3
Submit fused IDR frames on decoders that support adaptive playback even if they are blocked from using it
2022-05-29 22:21:15 -05:00
Cameron Gutman
bd64dfb661
Submit codec config data with a timestamp of 0 like MediaCodec does with csd-0
2022-05-29 22:10:49 -05:00
Cameron Gutman
82619063ee
Plumb frame type information into the decoder
2022-05-29 21:58:28 -05:00
Cameron Gutman
5dbf18d66e
Fix miscounting IDR frames in video stats
2022-05-29 21:10:41 -05:00
Cameron Gutman
6a34ff2728
Rewrite AES pairing functions to avoid Play Store's ECB warning
...
ECB is safe in this context because it's encrypting one-time messages
using a one-time key. All input data going through encryptAes() is
either random or partially random and passed through a secure hashing
function (SHA-256 on modern GFE versions).
Message authentication is not a concern either, because it is performed
by the pairing process itself via RSA signature verification. Any
ciphertext tampering would cause signature verification to fail later in
the pairing process.
2022-05-29 14:38:56 -05:00
Cameron Gutman
81a3bbd5e8
Implement remote desktop optimized mouse mode
2022-05-28 16:38:22 -05:00
Cameron Gutman
1509a2a799
Fix default deadzone setting
2022-05-28 16:16:46 -05:00
Cameron Gutman
fc547b734f
Fix crashes caused by calling NvHTTP with a null address
2022-05-28 15:54:21 -05:00
Cameron Gutman
b3700b5a19
Plumb LiSendMouseMoveAsMousePositionEvent() into JNI
2022-05-28 15:21:58 -05:00
Cameron Gutman
286094ee33
Add dead zone configuration option
...
Fixes #1075
2022-05-28 15:12:58 -05:00
Cameron Gutman
8ffc3b80b2
Rework use of URLs in NvHTTP
...
- Fixes parsing inconsistencies between URI and HttpUrl
- Fixes a couple of serverinfo requests sent without uniqueid and UUID
- Avoids PairingManager having to look into NvHTTP internals
2022-05-22 16:47:45 -05:00
Cameron Gutman
08f8b6cb8e
Keep the SpinnerDialog visible while the connectivity test runs
2022-05-22 15:36:38 -05:00
Cameron Gutman
fb09c9692c
Fix handling of InterruptedExceptions
2022-05-22 15:31:06 -05:00
Cameron Gutman
4901b0c78f
Stop parallel polling threads when we find a working address
2022-05-22 14:56:28 -05:00
Cameron Gutman
0a2117241f
Wrap Choreographer calls to releaseOutputBuffer() in try/catch
2022-05-22 14:32:03 -05:00
Cameron Gutman
ac7c5c1064
Improve handling of required XML tags
2022-05-20 17:15:26 -05:00
Cameron Gutman
cdeda011a4
Temporarily disable in-app links until they are translated
2022-05-18 22:40:47 -05:00
Cameron Gutman
d4bd29b320
Properly deal with battery saver mode in capped FPS mode
2022-05-17 00:14:55 -05:00
Cameron Gutman
7f2f2056c3
Add in-app privacy policy link to comply with Google Play policies
...
Also added Setup Guide and Troubleshooting Guide links too.
2022-05-15 15:56:19 -05:00
Cameron Gutman
41ef292b82
Fix frame rate cap not taking effect with the unlock FPS option enabled
2022-05-14 21:19:51 -05:00
Cameron Gutman
aa60671c88
Return the selected refresh rate now that the capped FPS mode is not default
2022-05-14 20:53:42 -05:00
Cameron Gutman
f1ccba39e8
Don't raise refresh rate above stream FPS except in min latency mode
2022-05-14 20:53:07 -05:00
Cameron Gutman
226e580a30
Prevent microstutter in balanced mode when streaming at 60 FPS on a 120 Hz display
2022-05-14 20:08:41 -05:00
Cameron Gutman
c127af1e05
Rewrite polling logic to avoid needing to poll using a separate socket first
2022-05-14 18:14:37 -05:00
Cameron Gutman
dc85ddb3f9
Reintroduce option of using old frame pacing algorithm using capped FPS
2022-05-08 15:20:08 -05:00
Cameron Gutman
2203186527
Remove extra ViewGroup between OSC and StreamView
...
This allows touch events to be properly split
2022-05-08 14:39:32 -05:00
Cameron Gutman
8a63b61495
Avoid touchscreens when looking for pointer capture capable devices
2022-02-18 17:07:23 -06:00
Cameron Gutman
eb9e6443e2
Display frame pacing mode in crash logs
2022-02-18 17:00:21 -06:00
Cameron Gutman
362c466a16
Reintroduce never drop frames option
2022-02-18 16:04:49 -06:00
Cameron Gutman
c25faf6426
Replace frame pacing hack with Choreographer-based rendering
...
This mimics the frame pacing logic now present in the iOS client.
2022-02-17 23:48:02 -06:00
Cameron Gutman
c0f8001627
Ignore relative mouse inputs from non-mouse tools
...
Apparently this can happen for the SPen on Android 12
2022-02-12 19:50:59 -06:00
Cameron Gutman
f39bf61b04
Try to wake the host PC when connecting via the ShortcutTrampoline
...
Fixes #1024
2022-02-12 18:35:12 -06:00
Cameron Gutman
7552181e24
Plumb setHdrMode callback into MediaCodecDecoderRenderer
2022-02-12 14:31:25 -06:00
Cameron Gutman
4b2e26050e
Only enable pointer capture if a compatible input device is connected
2022-02-12 14:21:19 -06:00
Cameron Gutman
530b48de71
Move recapture on focus gain logic to InputCaptureProvider
2022-02-12 13:58:55 -06:00
Cameron Gutman
8b692269c1
Remove per-app HDR support check
...
It doesn't seem to make a difference anymore whether it's supported or not.
GFE seems happy to enter HDR mode anyway.
2022-02-07 20:23:11 -06:00
Cameron Gutman
4a60ec1755
Fix excessive high-res scroll speed on newer GFE versions
2021-12-14 22:02:12 -06:00
Cameron Gutman
da45cba2ff
Send fractional scroll events properly
2021-12-08 22:11:44 -06:00
Cameron Gutman
ec647608c4
Allow state loss when committing SettingsFragment
2021-08-18 00:24:30 -05:00
Cameron Gutman
597582ddd8
Add workaround for NPE in getNetworkInterfaces()
2021-08-18 00:04:34 -05:00
Cameron Gutman
ae9282b0af
Plumb UTF-8 text support through to NvConnection
2021-08-10 00:14:13 -05:00
Cameron Gutman
04545ecbb0
Avoid tons of redundant calls to InputEvent.getSource()
2021-07-17 14:01:12 -05:00
Cameron Gutman
5350651d6f
Fix crash when using USB driver on Android 12
2021-07-17 13:59:11 -05:00
Cameron Gutman
f2e2e28419
Fix NPE if we receive a SOURCE_CLASS_POSITION event with no associated device
2021-07-17 13:15:57 -05:00
Cameron Gutman
b9031785ac
Fix crash if maxShortcutCountPerActivity is zero
2021-07-17 13:08:25 -05:00
Cameron Gutman
b6e7c425c6
Fix input from SOURCE_TRACKPAD devices
2021-07-16 20:44:01 -05:00
Cameron Gutman
834ace4566
Add SoC details and performance class to exception data
2021-07-16 20:00:03 -05:00
Cameron Gutman
54af70005d
Fix spurious gamepad removal when entering PiP with PS4 controller on Android 12
...
The relative mouse axes AXIS_RELATIVE_X/Y are added/removed when gaining/losing input focus
2021-07-16 19:51:14 -05:00
Cameron Gutman
f2bf168925
Fix possible rumble crash if only the lower motor byte is non-zero
2021-07-16 19:25:10 -05:00