androidx / androidx/media

ExoPlayer shows new frames during pause on SSAI live stream with DASH manifest updates

Open
#2,523 13 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

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

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:

  1. Play a DASH live stream with dynamic manifest (and preferably with ad markers or transitions).
  2. Let it play into an ad break or mid-content.
  3. Call exoPlayer.pause() just before or during the ad playback.
  4. Wait while paused. Observe that:
  5. Player logs show manifest/timeline updates.
  6. 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.

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.