-
Notifications
You must be signed in to change notification settings - Fork 575
Description
Version
Media3 1.3.1
More version details
Description:
When playing a live DASH stream (with or without DRM) that includes SSAI (Server Side Ad Insertion), calling exoPlayer.pause() does not freeze the last rendered video frame. Instead, ExoPlayer continues to update the frame during the pause, especially when there are manifest updates or ad transitions. This results in a visual change (e.g., black screen or a different frame), which breaks the expected pause behavior.
Environment Info:
Media3 version: 1.3.1
Device(s): Android TV (multiple vendors), Android mobile (multiple vendors)
Stream type: DASH (with ads via SSAI)
DRM: Widevine
Attached device logs captured when a frame change occurred while the content was in a paused state:SSAI_EXO.txt
Devices that reproduce the issue
Device(s): Android TV (multiple vendors), Android mobile (multiple vendors)
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Steps to reproduce:
- Play a DASH live stream with dynamic manifest (and preferably with ad markers or transitions).
- Let it play into an ad break or mid-content.
- Call exoPlayer.pause() just before or during the ad playback.
- Wait while paused. Observe that:
- Player logs show manifest/timeline updates.
- The video frame updates, disappears, or transitions unexpectedly.
Expected result
Expected behavior:
When exoPlayer.pause() is called, playback should stop and the currently rendered frame should stay on screen, regardless of underlying manifest updates or ad boundary transitions.
Actual result
Observed behavior:
- On pause, ExoPlayer stops playback as expected.
- However, if a manifest refresh or ad segment boundary occurs, ExoPlayer updates the timeline and the player renders a new frame or clears the current frame.
- This occurs on both DRM and non-DRM DASH live streams using SSAI.
Media
Not applicable
Bug Report
- You will email the zip file produced by
adb bugreport
to android-media-github@google.com after filing this issue.