androidx / androidx/media

Live DASH Manifest indefinite buffering occurs between SSAI ad period and content

Open
#1,636 9 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

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

Description

Version

Media3 1.3.1 and up.

More version details

No response

Devices that reproduce the issue

Pixel 7 running Android 14 * Pixel Tablet running Android 14, others

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Did not attempt (DRM)

Reproduction steps
  • Load one of our DASH DRM-protected Live streams that has SSAI
  • Observe acceptable playback during non-Ad periods
  • Seek to a position inside an ad-break (or start playback from within an an-break)
  • At the end of the Server-side injected ad (when non-Ad period is supposed to start) playback freezes and we see indefinite buffering

The discontinuity does not seem to be handled properly due to something in our DASH Live stream. This problem also occurs on previous versions of Media3 randomly during normal playback, however it is only on Media3 1.3.1 and up that you can easily recreate this issue by seeking into(or starting playback inside) an Ad break. Other players such as Roku do not exhibit this problem with the same streams.

Please note that when this indefinite buffering occurs we can get playback to resume (state goes from buffering -> playing) immediately by creating/attaching a new view to the ExoPlayer instance. This can be easily seen in our app by rotating the screen(maintains ExoPlayer instance, but new view is created/attached). Playback can also be resumed by seeking forward out of the ad period

Also note that this issue usually does not occur if playback starts before the ad-break, then the ad break period plays. Normally, playback just continues seamlessly. It's only if you seek into or start during the Ad period that this easy-to-recreate issue occurs.

I will send a debuggable APK via email with steps on how to login and find some content.

I have HAR files and can reproduce during Live games to gather more info as needed.

Attaching logs of occurrence.

Reds at Blue Jays - ExoPlayer Logs.zip

Expected result

Video always continues playing through the Ad period and back into the non-Ad period without indefinite buffering

Actual result

Indefinite buffering

Media

Currently unable to share

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.