google / google/ExoPlayer

Wrong timestamp from `getCurrentPosition()` when using HLS

Open
#11,090 4 comments 0 reactions 1 assignee Assigned to @gabrielgarciagava View on GitHub
bug needs triage
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

### Bug

I am using ExoPlayer to show an HLS video. If I pause the video, and request the timestamp with getCurrentPosition, it gives me a value that around ~100ms before what is actually being shown in the video player (around 2 frames of the video I am using). I am comparing this to the frames extracted using ffmpeg, and comparing the timestamp reported for each frame by ffmpeg.

For the sake of comparison, I am running the exact same expereriment using AVPlayer on iOS. There, the timestamp that it gives matches the frame I extract with ffmpeg.

An alternative way to execute the experiment and get to the same result. Pick any frame using ffmpeg, look the timestamp of the frame. Open the video with ExoPlayer and call seekTo to that position. The same thing will happen, the frame that will be shown is around ~2 frames (I say around 2 since I've seen 1,2 and 3 frames of difference during my tests) after the one seen with ffmpeg.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.