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
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
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
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
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
7552181e24
Plumb setHdrMode callback into MediaCodecDecoderRenderer
2022-02-12 14:31:25 -06:00
Cameron Gutman
834ace4566
Add SoC details and performance class to exception data
2021-07-16 20:00:03 -05:00
Cameron Gutman
8ac5768f4f
Change H.265 to HEVC to match other clients
2021-06-12 11:00:30 -05:00
Cameron Gutman
b74e0ce48f
Remove receive time from performance overlay
...
It is superseded by network latency
2021-05-22 14:08:46 -05:00
Cameron Gutman
3f1cd8a118
Use HEVC at 4K on Qualcomm since RFI is temporarily disabled
2021-05-16 20:39:58 -05:00
Cameron Gutman
ea98d64184
Consolidate performance overlay lines to reduce wasted space
2021-05-16 20:20:36 -05:00
Cameron Gutman
9166998442
Fix casts of RTT info
2021-05-15 17:07:08 -05:00
Cameron Gutman
e79c12a038
Add network latency to performance overlay
2021-05-15 16:56:19 -05:00
Cameron Gutman
2ca5182a28
Convert the big perf text block into strings for each line
2021-05-15 16:45:38 -05:00
Cameron Gutman
bac7b68bb1
One more attempt to fix exception parsing
2021-04-26 19:07:54 -05:00
Cameron Gutman
544eac0c8a
Attempt to prevent possible error parsing exception string
2021-04-23 19:12:41 -05:00
Cameron Gutman
0c79d756a4
Add more specific problem text to the decoder exceptions
2021-04-19 22:44:17 -05:00
Cameron Gutman
699cc361a2
Add additional vendor-specific low latency options for Qualcomm and HiSilicon SoCs
2021-04-18 12:49:25 -05:00
Cameron Gutman
b1f453f7ba
Charge time spent in the decode unit queue to the decoder rather than receive time
2020-12-31 16:35:49 -06:00
Cameron Gutman
b392d7f8e3
Add option to stream at device native resolution
...
Fixes #155
2020-12-23 16:17:06 -06:00
Cameron Gutman
e53a1f90b0
Correct some callers of time functions that expect monotonic clocks
2020-10-18 20:05:09 -05:00
Cameron Gutman
43c67b4939
Avoid using max operating rate on Android Q and non-Qualcomm devices
2020-07-01 11:26:40 -05:00
Cameron Gutman
6de370b82f
Update for Android 11
2020-06-10 20:31:32 -07:00
Cameron Gutman
4dfb0d7220
Fix crash during crash report generation
2020-03-22 13:48:17 -07:00
Cameron Gutman
1c8ad64da0
Only set KEY_FRAME_RATE on M+ to reduce compatibility risk
2020-02-25 20:24:18 -08:00
Cameron Gutman
81b6a8a311
Set the vendor.qti-ext-dec-low-latency.enable Qualcomm vendor extension
2020-02-22 17:06:32 -08:00
Cameron Gutman
dcb7be3acd
Use the original FPS value for KEY_FRAME_RATE
2020-02-22 01:18:11 -08:00
Cameron Gutman
68a6b510b1
Set KEY_FRAME_RATE for devices where KEY_OPERATING_RATE silently fails
2020-02-22 01:05:26 -08:00
Cameron Gutman
dca3e89303
Log configured MediaFormat and achievable FPS ranges
2020-02-22 01:04:18 -08:00
Cameron Gutman
bae6fef588
Log the actual input and output formats
2020-02-21 22:02:37 -08:00
Cameron Gutman
112d9c41eb
Use KEY_LOW_LATENCY to request low-latency decoding on Android R
2020-02-19 23:40:06 -08:00
Cameron Gutman
8dcdf73222
Fix accidentally inverted condition for VUI parameter removal
2020-01-03 21:59:25 -06:00
Cameron Gutman
f3847b932b
Leave H.264 SPS VUI parameters in place on devices running API 26+
2019-12-15 12:04:35 -08:00
Cameron Gutman
d1fae89d6d
Don't change level_idc for high refresh rate streams
2019-11-10 18:29:31 -08:00
Cameron Gutman
3e7ddab0e9
Blacklist 59 FPS on BRAVIA_ATV3 due to crash reports
2019-10-20 00:06:17 -07:00
Cameron Gutman
40a3cc2ecb
Tweak on-screen overlay a bit
2019-07-10 20:55:01 -07:00
Kaiwen Xu
252285e4f7
Implement performance overlay.
2019-07-08 00:55:25 -07:00
Cameron Gutman
4c8d433b6c
Always use the new L+ releaseOutputBuffer() to gain drop support on L
2018-12-03 18:15:51 -08:00