media/library
christosts cbb6878f9f Skip rendering multiple frames on the same vsync
When rendering frames at a rate higher than the screen refresh rate,
e.g. playing at 8x, the player is releasing multiple frames at the same
release time (nanos) which are then dropped by the platform. The output
buffers are available later and as a result MediaCodec cannot keep up
decoding fast enough.

This change skips releasing multiple video frames on the same vsync
period and proactivelly drops the frame. The frame is counted as skipped
rather than dropped to differentiate with frames dropped due to slow
decoding.

PiperOrigin-RevId: 510964976
2023-02-24 09:46:06 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Effects: Update javadoc to link to method. 2023-02-17 13:17:10 +00:00
core Skip rendering multiple frames on the same vsync 2023-02-24 09:46:06 +00:00
dash Merge pull request #248 from lemondoglol:update-segment-size 2023-02-08 15:38:48 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Merge pull request #10959 from balachandarlinks:handle-sql-exception-in-cached-content-index 2023-02-14 16:10:55 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:25:46 +01:00
effect Effect: Rename to DefaultShaderProgram. 2023-02-24 09:32:08 +00:00
extractor Encapsulate Opus frames in Ogg during audio offload 2023-02-08 15:54:41 +00:00
hls Update SampleQueue.sourceId to be a long rather than an int. 2023-02-14 16:06:47 +00:00
rtsp Catch IllegalArgumentExceptions in RTSP Response parsing 2023-02-13 14:18:53 +00:00
smoothstreaming Merge pull request #248 from lemondoglol:update-segment-size 2023-02-08 15:38:48 +00:00
transformer HDR: Remove comment explaining force sdr behavior with assetloaders. 2023-02-24 09:39:08 +00:00
ui Tweak UI behavior when commands are missing. 2023-02-01 14:03:50 +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.