Cameron Gutman
a93422d3ed
Handle failure to bind com.nvidia.blakepairing more robustly
2022-06-18 14:31:38 -05:00
Cameron Gutman
c743949df5
Don't crash if no performance data was provided for the codec using the M API
2022-06-18 10:37:16 -05:00
Cameron Gutman
f207a3f6d1
Use areSizeAndRateSupported() as a last resort if no performance data is available
2022-06-18 10:35:12 -05:00
Cameron Gutman
22b9c9ca68
Use H.264 on Sabrina if possible for lowest latency
2022-06-13 21:40:41 -05:00
Cameron Gutman
c6100a9be1
Catch potential older NVIDIA devices that use partial HEVC acceleration
2022-06-13 19:25:29 -05:00
Cameron Gutman
529a2f7bf8
Prevent PiP entry while the USB permission dialog is open
2022-06-13 19:23:03 -05:00
Cameron Gutman
a73eab5e92
Handle stale controller token mappings upon device removal
2022-06-09 19:43:46 -05:00
Cameron Gutman
a8479ccb5f
Implement support for rumble for Shield controllers on Shield devices
2022-06-09 18:51:23 -05:00
Cameron Gutman
d08c32ce04
Map external keyboard keycodes to the QWERTY layout that GFE expects
2022-06-08 23:54:57 -05:00
Cameron Gutman
49898b34e1
Don't export UsbEventReceiver on Android 13
2022-06-08 22:16:58 -05:00
Cameron Gutman
9fc5496526
Use VibrationAttributes to bypass interruption policy
2022-06-08 20:26:36 -05:00
TacoTheDank
b5b3d81f00
Clean up flavors by using buildConfigField
2022-06-08 19:44:59 -05:00
Cameron Gutman
297ac64fde
Enable HEVC on all Shield TV devices
2022-06-06 17:29:47 -05:00
Cameron Gutman
d4490f0e17
Fix performance point check for Android M - P
2022-06-06 17:26:59 -05:00
Cameron Gutman
d04e7a3231
Enable HEVC on untested decoders if it's the only way to meet the performance target
2022-06-04 17:37:14 -05:00
Cameron Gutman
5b456aba27
Use a separate HandlerThread for Choreographer callbacks
2022-06-04 17:00:58 -05:00
Cameron Gutman
0c065dcc1f
Print vendor parameters on Android 12
2022-06-04 15:42:06 -05:00
Cameron Gutman
6aac8e6be6
Use amazon.hardware.fire_tv feature to detect Fire TV devices
2022-06-03 19:03:56 -05:00
Cameron Gutman
0b18e8fdb4
Update decoder errata details
2022-06-03 01:39:39 -05:00
Cameron Gutman
19d8ae0f78
Revamp low latency option handling
...
- Introduce a tiered solution where we try progressively fewer options until one works
- Use vdec-lowlatency for all devices, since we know at least the Fire TV 3 supports it with an Amlogic SoC
- Enable HEVC on Fire TV 3 since vdec-lowlatency avoids the HEVC decoder bug
2022-06-03 01:04:11 -05:00
Cameron Gutman
d7ffb5dddc
Refactor decoder creation code to allow retries
2022-06-02 21:17:20 -05:00
Cameron Gutman
2859b73dfe
Add Amlogic low latency vendor-defined option
2022-06-02 21:02:43 -05:00
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
81a3bbd5e8
Implement remote desktop optimized mouse mode
2022-05-28 16:38:22 -05:00
Cameron Gutman
286094ee33
Add dead zone configuration option
...
Fixes #1075
2022-05-28 15:12:58 -05:00
Cameron Gutman
fb09c9692c
Fix handling of InterruptedExceptions
2022-05-22 15:31:06 -05:00
Cameron Gutman
0a2117241f
Wrap Choreographer calls to releaseOutputBuffer() in try/catch
2022-05-22 14:32:03 -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
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
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
4a60ec1755
Fix excessive high-res scroll speed on newer GFE versions
2021-12-14 22:02:12 -06: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
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
Cameron Gutman
73784585a8
Fix new Android 12 rumble code based on real hardware testing
...
Independent rumble motor controller tested working on:
- DualShock 4 (USB and BT)
- DualShock 3 (USB)
- Xbox Series X (USB)
2021-07-15 19:51:08 -05:00
Cameron Gutman
262d562dd9
Implement enhanced rumble support for Android 12 devices
...
This allows independent control of large and small motors which
was not possible with the old single Vibrator API.
Currently untested on real hardware.
2021-07-14 20:18:35 -05:00