aws / aws/amazon-ivs-react-native-player

[Android/iOS] seekTo(0) jumps to live edge on an open EVENT playlist

Open
#209 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
313
Forks
42
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**

On an HLS EVENT playlist without `#EXT-X-ENDLIST`, calling `seekTo(0)` initially triggers `onSeek(0)`, but playback then jumps to the live edge.

Calling `seekTo(0.5)` works correctly. The issue reproduces on both Android and iOS in the official example app.

The test source was obtained from the official Amazon IVS DVR demo:
https://dvr.ivsdemos.com/

Other player handles `seekTo(0)` correctly with the same source.

**To reproduce**

1. Obtain an HLS EVENT playlist from the official Amazon IVS DVR demo:
https://dvr.ivsdemos.com/
2. Run the official `amazon-ivs-react-native-player` example app using that playlist.
3. Start playback.
4. Call `mediaPlayerRef.current?.seekTo(0)`.
5. Observe that `onSeek` reports `0`, but playback jumps to the live edge.
6. Call `mediaPlayerRef.current?.seekTo(0.5)`.
7. Observe that playback continues correctly from 0.5 seconds.

**Expected behavior**

`seekTo(0)` should play from the beginning instead of jumping to the live edge.

**Screenshots**

https://github.com/user-attachments/assets/03fb544f-a34b-4c13-a402-142a2b602c4e

**Device (please complete the following information):**

- iOS
- Android

**Debug logs**

```text
seekTo(0)
onSeek: 0
state: Playing
progress: live edge

seekTo(0.5)
onSeek: 0.5
state: Playing
progress: approximately 0.5

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue in the official amazon-ivs-react-native-player example app with the Amazon IVS DVR EVENT playlist. Trace the mediaPlayerRef.current?.seekTo(0) path on both Android and iOS and compare it with seekTo(0.5). Done means seekTo(0) remains at the beginning instead of moving to the live edge, while the existing onSeek behavior is preserved.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, ios, react-native, typescript
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.