media/libraries
claincly 693600a444 Add a frame cache
Frame cache compensates for the fluctuation in frame processing times.

Imagine a frame takes 10ms to process, and the interval between two frames is
33ms. The third frame took 40ms to process.

If we don't have frame cache:
- Process frame 1, ready after 10ms, starts playback, now t=0 ms
- Start processing frame 2, ready at t=10ms,
- Release frame 2 at t=33ms
- We start processing the third frame at t=33ms
- The third frame is due presentation at t=66ms
- But frame 3 is available at t=73ms, late

If we have a frame cache of say 3 frams,
- Process frame 1, ready after 10ms, starts playback, now t=0 ms
- Start processing frame 2, ready at t=10ms
- Start processing frame 3, ready at t=50ms
- Release frame 2 at t=33ms
- Start frame 4, ready at t=60ms
- Frame 3 is due presentation at t=66ms
- Frame 3 isn't late

PiperOrigin-RevId: 501869948
2023-01-17 02:04:06 +00:00
..
cast Clarify behavior for out-of-bounds indices and align implementations 2022-12-21 15:07:20 +00:00
common Make ToInt16AudioProcessor available in common.audio. 2023-01-17 01:56:56 +00:00
database Add javadoc links to README files 2022-12-12 11:19:23 +00:00
datasource Add javadoc links to README files 2022-12-12 11:19:23 +00:00
datasource_cronet Add javadoc links to README files 2022-12-12 11:19:23 +00:00
datasource_okhttp Add javadoc links to README files 2022-12-12 11:19:23 +00:00
datasource_rtmp Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_av1 Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_ffmpeg Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_flac Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_opus Add javadoc links to README files 2022-12-12 11:19:23 +00:00
decoder_vp9 Add javadoc links to README files 2022-12-12 11:19:23 +00:00
effect Add a frame cache 2023-01-17 02:04:06 +00:00
exoplayer Fix not able to set a null output surface. 2023-01-17 02:02:27 +00:00
exoplayer_dash Add javadoc links to README files 2022-12-12 11:19:23 +00:00
exoplayer_hls Add javadoc links to README files 2022-12-12 11:19:23 +00:00
exoplayer_ima Add AdsLoader.focusSkipButton() 2023-01-17 01:54:45 +00:00
exoplayer_rtsp Add javadoc links to README files 2022-12-12 11:19:23 +00:00
exoplayer_smoothstreaming Add javadoc links to README files 2022-12-12 11:19:23 +00:00
exoplayer_workmanager Add javadoc links to README files 2022-12-12 11:19:23 +00:00
extractor Throw a ParserException instead of a NullPointerException if the sample table (stbl) is missing a required sample description (stsd). 2023-01-04 21:58:17 +00:00
session Catch FgSStartNotAllowedException when playback resumes 2023-01-17 02:00:03 +00:00
test_data HDR: Implement PQ to SDR tone-mapping. 2023-01-17 01:59:21 +00:00
test_exoplayer_playback Fix instrumentation tests not working via Gradle 2022-09-30 18:03:11 +00:00
test_session_common Use onMediaMetadataChanged for updating the legacy session 2023-01-17 01:46:39 +00:00
test_session_current Move BitmapLoader to common. 2023-01-17 01:50:18 +00:00
test_utils Add a frame cache 2023-01-17 02:04:06 +00:00
test_utils_robolectric Rollback of 7e63997459 2022-12-21 15:13:24 +00:00
transformer Allow forcing duration in FrameworkMuxer. 2023-01-17 02:03:24 +00:00
ui Fix order of playback controls in RTL layout 2023-01-04 21:38:29 +00:00
ui_leanback Fix Dackka error due to param name mismatch 2022-12-21 15:17:34 +00:00