This fixes a bug with playing very short audio files, introduced by https://github.com/google/ExoPlayer/commit/fe710871aad3e4e6b4e0798f1cf762d5ecfebedb The existing code using floor integer division results in playback never transitioning to `STATE_ENDED` because at the end of playback for the short sample clip provided `currentPositionUs=189937`, `outputSampleRate=16000` and `(189937 * 16000) / 1000000 = 3038.992`, while `writtenFrames=3039`. This is fixed by using `Util.ceilDivide` so we return `3039`, which means `AudioTrackPositionTracker.hasPendingData()` returns `false` (since `writtenFrames == durationUsToFrames(getCurrentPositionUs(/* sourceEnded= */ false))`). Issue: androidx/media#538 PiperOrigin-RevId: 554481782 (cherry picked from commit a9a2451ccbd08649da20936407076681fe3ad40f)
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| audio | Loading commit data... | |
| drm | Loading commit data... | |
| metadata | Loading commit data... | |
| offline | Loading commit data... | |
| source | Loading commit data... | |
| text | Loading commit data... | |
| trackselection | Loading commit data... | |
| util | Loading commit data... | |
| video | Loading commit data... | |
| BasePlayerTest.java | Loading commit data... | |
| BundleListRetrieverTest.java | Loading commit data... | |
| CTest.java | Loading commit data... | |
| DeviceInfoTest.java | Loading commit data... | |
| FormatTest.java | Loading commit data... | |
| ForwardingPlayerTest.java | Loading commit data... | |
| MediaItemTest.java | Loading commit data... | |
| MediaMetadataTest.java | Loading commit data... | |
| PlaybackExceptionTest.java | Loading commit data... | |
| PlaybackParametersTest.java | Loading commit data... | |
| PlayerTest.java | Loading commit data... | |
| PositionInfoTest.java | Loading commit data... | |
| RatingTest.java | Loading commit data... | |
| SimpleBasePlayerTest.java | Loading commit data... | |
| TimelineTest.java | Loading commit data... | |
| TracksTest.java | Loading commit data... |