google / google/ExoPlayer

[Cast] Can live content start playing at live edge when cast session is already active?

Open
#9,389 5 comments 1 reaction 1 assignee Claimed by @marcbaechinger View on GitHub
bug
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

If live playback starts on device (starts correctly at live edge) and then switches to cast, it keeps playing in the correct position (more or less at the live edge). However, if live playback starts when cast session is already active it always starts at 0 (beginning of the live window, not at the live edge).

Is there a way to make live content start playing at the live edge when cast session is already active? We tried the following combinations, but no luck:
1. `CastPlayer.setMediaItem(item)` -> starts playing at 0
2. `CastPlayer.setMediaItem(item, C.TIME_UNSET)` -> starts playing at 0
3. `CastPlayer.setMediaItem(item, Long.MAX_VALUE)` -> renders first frame at live edge, but keeps buffering

### Steps to reproduce in Exo Cast Demo
1. Start casting (with no item in the queue)
2. Add live content to the queue
3. Play live content (and it will start playing at position 0, not at the live edge)

### ExoPlay version
2.15.0

### Devices
Google Pixel 3a (API 30)

### Sample content
Sent via email, but should be reproducible with any live content

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.