androidx / androidx/media

Restore live stream DVR window progress & duration in MediaSession as optional

Open
#3,260 5 comments 0 reactions 1 assignee View on GitHub

@marcbaechinger is already working on this.

Since Jun 3, 2026.

enhancement
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

Use case description

In release 1.8.0, as fix for #1758, position and duration of live streams with a DVR window are no longer published, effectively disabling users from interacting with the play position of the stream from media session clients (media notification, Android Auto).
In our case, we are providing users with live radio streams with 3 hours of DVR they can freely navigate. With this change in behaviour, our users can no longer interact with the DVR window outside of the app itself. We would very much like this change in behaviour to be optional, so developers can decide by themselves whether they think it's useful for their user base to have access to this interaction.

Although restoring the direct interaction with the DVR window would already be an improvement, our previous implementation based on MediaSessionCompat allowed us (through the playback state) to set progress and duration fully independently of the stream that was playing. This allowed us to show a timeline based on program times (with the end in the future), manually updated by the player position, rather than the progress bar mirroring the player duration and progress 1:1. In an ideal world, we'd love to have this level of control over the values for duration and progress as published to media session clients.
Below are screenshots of what our current implementation looks like for live streams

Media notification on a mobile device:
Image
Android Auto:
Image
Proposed solution

For the first part, we'd suggest having a configuration flag that allows publishing progress and duration as per previous behaviour.
For the second part, an option to override progress and duration with custom values should work, provided these are made available to connected clients without being blocked by internal logic.

Alternatives considered

No alternatives come to mind. However if the above is already possible with the existing release, we'd love to get some pointers in the right direction.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.