When does the player catch up to live - devrath/MediaAlchemySuite GitHub Wiki
Player Resync
- It is the process of the player catching up to live when it falls behind due to
seek
,Network delay
,buffering
Scenario | Resync Happens When... |
---|---|
Buffering | Player recovers and skips ahead to minimize delay |
Slow Network | Player adapts bitrate + reduces latency by skipping old segments |
Manual Seek | You seek near the live edge manually |
Automatic Sync | If LiveConfiguration.targetOffsetMs is set (e.g., 3s), ExoPlayer tries to maintain that offset from the live edge. |
Triggering Resync in Code
🧩 ExoPlayer automatically resyncs when the buffer recovers or playback stalls to stay near the targetOffsetMs.
val mediaItem = MediaItem.Builder()
.setUri("https://live.example.com/stream.m3u8")
.setLiveConfiguration(
MediaItem.LiveConfiguration.Builder()
.setTargetOffsetMs(3000) // Stay ~3s behind live edge
.build()
)
.build()