Skip to content

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

@StephanBezoenNPO

Description

@StephanBezoenNPO

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.

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions