Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show HLS stream in media notification as a progressive stream (without the "live window") #1256

Open
dxshindeo opened this issue Apr 9, 2024 · 1 comment
Assignees

Comments

@dxshindeo
Copy link

dxshindeo commented Apr 9, 2024

Reading from the docs ( https://developer.android.com/media/media3/exoplayer/live-streaming ),
I see that livestreams are divided into 2 categories:

  • adaptive (example: hls)

adaptive

  • progressive (example: aac, ogg, mp3)

progressive

From my understanding, the adaptive is the relative "new kid" on the block, offering that live window seek functionality and that awesome wave visual effect.

Call me old-fashioned, but I just hate seeing a seekable timeline on a LIVE audio stream.
It rubs me the wrong way.
In my opinion, it should only be on audio that is finished (a file). Less confusion.

So my question is - is it possible to play an HLS stream, but WITHOUT that live window?
To make it look like it is a progressive livestream?
(I mean I know it can be because one of my old apps can do it, but it was not built with "media3")

@marcbaechinger
Copy link
Contributor

Thanks for reporting!

Yes, I agree the seekbar for a live window doesn't make sense in the notification. The fix for this is to not set the duration when syncing the Media3 session state to the platform metadata data.

When testing this works for System UI media controls on API 29 and API 33. The seekbar is shown starting with API 29 I think and only for media style notification that have a session attached (which is standard with DefaultMediaNotificationProvider). Hence this only needs to be changed in the MediaSessionLegacyStub where we can set C.TIME_UNSET if it's a live stream.

I'll mark this issue as an enhancement and send such a change to the internal review. The commit will be referenced here when it lands on GitHub.

@marcbaechinger marcbaechinger self-assigned this Apr 9, 2024
copybara-service bot pushed a commit that referenced this issue Apr 12, 2024
A live window with changing duration can't be properly
displayed in a media notification. The duration constantly
changes and creates a nervous jumping seekbar that is not
really useful.

This change sets the duration for live streams to `C.TIME_UNSET`
when publishing the player state to the platform session. This
way no duration is sent to the platform session which prevents
media controls from drawing a seekbar.

Issue: #1256
PiperOrigin-RevId: 624112541
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants