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
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| truth | Loading commit data... | |
| Action.java | Loading commit data... | |
| ActionSchedule.java | Loading commit data... | |
| AdditionalFailureInfo.java | Loading commit data... | |
| AssetContentProvider.java | Loading commit data... | |
| BitmapPixelTestUtil.java | Loading commit data... | |
| CacheAsserts.java | Loading commit data... | |
| CapturingAudioSink.java | Loading commit data... | |
| CapturingRenderersFactory.java | Loading commit data... | |
| DataSourceContractTest.java | Loading commit data... | |
| DecodeOneFrameUtil.java | Loading commit data... | |
| DecoderCountersUtil.java | Loading commit data... | |
| DefaultRenderersFactoryAsserts.java | Loading commit data... | |
| DownloadBuilder.java | Loading commit data... | |
| DummyMainThread.java | Loading commit data... | |
| DumpFileAsserts.java | Loading commit data... | |
| DumpableFormat.java | Loading commit data... | |
| Dumper.java | Loading commit data... | |
| ExoHostedTest.java | Loading commit data... | |
| ExoPlayerTestRunner.java | Loading commit data... | |
| ExtractorAsserts.java | Loading commit data... | |
| FailOnCloseDataSink.java | Loading commit data... | |
| FakeAdaptiveDataSet.java | Loading commit data... | |
| FakeAdaptiveMediaPeriod.java | Loading commit data... | |
| FakeAdaptiveMediaSource.java | Loading commit data... | |
| FakeAudioRenderer.java | Loading commit data... | |
| FakeChunkSource.java | Loading commit data... | |
| FakeClock.java | Loading commit data... | |
| FakeCryptoConfig.java | Loading commit data... | |
| FakeDataSet.java | Loading commit data... | |
| FakeDataSource.java | Loading commit data... | |
| FakeExoMediaDrm.java | Loading commit data... | |
| FakeExtractorInput.java | Loading commit data... | |
| FakeExtractorOutput.java | Loading commit data... | |
| FakeMediaChunk.java | Loading commit data... | |
| FakeMediaChunkIterator.java | Loading commit data... | |
| FakeMediaClockRenderer.java | Loading commit data... | |
| FakeMediaPeriod.java | Loading commit data... | |
| FakeMediaSource.java | Loading commit data... | |
| FakeMediaSourceFactory.java | Loading commit data... | |
| FakeMetadataEntry.java | Loading commit data... | |
| FakeRenderer.java | Loading commit data... | |
| FakeSampleStream.java | Loading commit data... | |
| FakeShuffleOrder.java | Loading commit data... | |
| FakeTimeline.java | Loading commit data... | |
| FakeTrackOutput.java | Loading commit data... | |
| FakeTrackSelection.java | Loading commit data... | |
| FakeTrackSelector.java | Loading commit data... | |
| FakeVideoRenderer.java | Loading commit data... | |
| HostActivity.java | Loading commit data... | |
| HttpDataSourceTestEnv.java | Loading commit data... | |
| MediaPeriodAsserts.java | Loading commit data... | |
| MediaSourceTestRunner.java | Loading commit data... | |
| StubExoPlayer.java | Loading commit data... | |
| StubPlayer.java | Loading commit data... | |
| TestExoPlayerBuilder.java | Loading commit data... | |
| TestUtil.java | Loading commit data... | |
| TimelineAsserts.java | Loading commit data... | |
| WebServerDispatcher.java | Loading commit data... | |
| package-info.java | Loading commit data... |