Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Returning from an interstitial playlist causes renderer disable and then reenable

Aperta
#3,371 3 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

@tonihei ci sta già lavorando.

Dal 8/9/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

bug
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).

Lingua principale
Java
Stelle
3.1k
Fork
998
Merge medio
6g 8h
PR unite (30g)
2

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di androidx/media

Tutte le issue di androidx/media

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.