Returning from an interstitial playlist causes renderer disable and then reenable
Maintainers usually reply within 4 days
@tonihei is already working on this.
Since Sep 8, 2026.
Assessment
This issue has not been assessed yet.
Description
Version
Media3 1.11.0
Description
Let's assume we are playing a playlist with several interstitial playlists, so the resulting playback looks like AaBbC, where (A), (B) and (C) are from the main playlist and (a) and (b) are interstitial playlists. The result is that between (a) and (B) the player is disabling and then reenabling the renderers. This happens because the player creates in MediaPeriodHolder.createMediaPeriod() a ClippingMediaPeriod for (A) and (B) (but not for (C) which has endPositionUs = C.TIME_UNSET).
Both new ClippingMediaPeriod() calls have enableInitialDiscontinuity=false (as isPrecededByTransitionFromSameStream=false) and such initial discontinuity causes renderers restart at the moment (B) starts playback. Modifying code to have enableInitialDiscontinuity=true for the periods following interstitials solves this problem.
Devices that reproduce the issue
Was reproduced on a proprietary Android device, but I do not believe the device is important.
Reproducible in the demo app?
Yes
Note: The demo app was modified to allow playback of the content with interstitials.
Reproduction steps
Play a VoD content with several interstitials with SNAP=IN,
The main VoD content and all the interstitials should use the same set of video variants.
Expected result
Smooth playback with all the transitions from the main content to interstitials and back happening without the renderers being disabled (and then reenabled).
Actual result
Returning from all but the last interstitial playlist causes renderer disable/re-enable (and as a result quite a noticeable "hesitation" in the playback).
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 998
- Avg merge
- 6d 8h
- Merged PRs (30d)
- 2
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from androidx/media
-
HLS: muxed Dolby TrueHD audio is dropped during chunkless preparation when CODECS lists "mlpa"Possibly taken @marcbaechinger claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
androidx/media#3485 · 1 assignee ·
Maintainers usually reply within 4 days
-
MediaSessionService: the platform session keeps every player command and publishes the whole queue until the session is added, e.g. after a sticky restartPossibly taken @marcbaechinger claimed this 1 day ago. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
androidx/media#3490 · 3 comments · 1 assignee ·
Maintainers usually reply within 4 days
-
Gapless MP4/AAC from FFmpeg: padding derived as 0 from the edit list, so the rest of the last frame plays at each joinPossibly taken @rohitjoins claimed this 1 day ago. Openbug needs triage
Difficulty 4/5 3-5 days Newbie friendliness 48/100
androidx/media#3489 · 1 assignee ·
Maintainers usually reply within 4 days
-
DTS-HD passthrough never retries a failed AudioTrack since the 1-second retry minimum (#3207)Possibly taken @microkatz claimed this 1 day ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 57/100
androidx/media#3487 · 1 assignee ·
Maintainers usually reply within 4 days
-
Dolby Vision Profile 7 is sent to a Profile 5 decoder on DV displays without a Profile 7 decoderPossibly taken @microkatz claimed this 1 day ago. Open
Difficulty 4/5 1-2 days Newbie friendliness 48/100
androidx/media#3486 · 1 assignee ·
Maintainers usually reply within 4 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
geonetwork/core-geonetwork#9592 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
apache/rocketmq-dashboard#7361 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
higress-group/himarket#358 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day