media/library
claincly 42aecce353 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 03:06:36 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Make ToInt16AudioProcessor available in common.audio. 2023-01-17 02:35:14 +00:00
core Fix not able to set a null output surface. 2023-01-17 02:58:45 +00:00
dash Add missing IntDef on MediaSource.Factory.getSupportedTypes overrides 2022-11-10 16:12:02 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Deprecate C.POSITION_UNSET in favour of C.INDEX_UNSET 2022-12-12 12:24:50 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:25:46 +01:00
effect Add a frame cache 2023-01-17 03:06:36 +00:00
extractor Throw a ParserException instead of a NullPointerException if the sample table (stbl) is missing a required sample description (stsd). 2023-01-10 20:04:22 +00:00
hls Refactor transformation completion 2022-11-21 14:27:00 +00:00
rtsp Add javadoc links to README files 2022-12-12 13:07:19 +00:00
smoothstreaming Add missing IntDef on MediaSource.Factory.getSupportedTypes overrides 2022-11-10 16:12:02 +00:00
transformer Allow forcing duration in FrameworkMuxer. 2023-01-17 03:02:43 +00:00
ui Fix order of playback controls in RTL layout 2023-01-04 18:56:03 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.