Cameron Gutman
05311da33d
Use 4 slices per frame for software decoders
2022-07-22 20:14:53 -05:00
Cameron Gutman
2e442cb1d1
Only use 4 slices per frame on old Qualcomm devices that benefit from it
...
Using it everywhere decreases encoding efficiency for no gain in performance
2022-07-22 18:43:59 -05:00
Cameron Gutman
fe322590cc
Add an option to allow equalizer effects
2022-07-22 00:23:11 -05:00
peerobo
bfc3116661
Add support for 8bitdo sn30 pro xCloud ( #1102 )
...
* add support for 8bitdo sn30 pro xCloud
Co-authored-by: peerobo <phuongrobotics@me.com >
2022-07-20 08:37:32 -05:00
Cameron Gutman
264b6e54f2
Add Codec2 variants in the decoder prefix lists
2022-07-19 23:51:11 -05:00
Cameron Gutman
1ed7ecc82f
Don't use FLAG_BYPASS_INTERRUPTION_POLICY
...
See https://issuetracker.google.com/issues/235875658
2022-07-19 23:02:31 -05:00
Cameron Gutman
ebd327c7a6
Use new ShieldControllerExtensions library for Shield Controller rumble support
...
https://github.com/cgutman/ShieldControllerExtensions
2022-06-30 18:04:02 -05:00
Cameron Gutman
ce850ac12f
Fix crash on Xiaomi MiPad running newer custom ROMs
...
AVC Decoder: OMX.Nvidia.h264.decode
HEVC Decoder: OMX.Nvidia.h265.decode
AVC supported width range: [32, 3840]
AVC achievable FPS range: [146.0, 149.0]
HEVC supported width range: [32, 528]
HEVC achievable FPS range: UNSUPPORTED!
2022-06-18 15:00:10 -05:00
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