ExoPlayer: DASH Live stream stops playing multiperiod manifest

Issue description

Playing a DASH Live stream with multiperiods. The player is stuck and stops playing when there is a new period. Sometimes the player continues after 30-60s and eventually the player also crashes with

07-10 11:52:25.114  9551  9551 D AndroidRuntime: Shutting down VM
07-10 11:52:25.133  9551  9551 E AndroidRuntime: FATAL EXCEPTION: main
07-10 11:52:25.133  9551  9551 E AndroidRuntime: Process: ---------, PID: 9551
07-10 11:52:25.133  9551  9551 E AndroidRuntime: java.lang.IndexOutOfBoundsException
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.util.Assertions.checkIndex(Assertions.java:68)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.source.dash.DashMediaSource$DashTimeline.getPeriod(DashMediaSource.java:1054)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.analytics.AnalyticsCollector$MediaPeriodQueueTracker.updateMediaPeriodToNewTimeline(AnalyticsCollector.java:778)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.analytics.AnalyticsCollector$MediaPeriodQueueTracker.onTimelineChanged(AnalyticsCollector.java:727)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.analytics.AnalyticsCollector.onTimelineChanged(AnalyticsCollector.java:424)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.ExoPlayerImpl$PlaybackInfoUpdate.notifyListeners(ExoPlayerImpl.java:746)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.ExoPlayerImpl.updatePlaybackInfo(ExoPlayerImpl.java:681)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.ExoPlayerImpl.handlePlaybackInfo(ExoPlayerImpl.java:622)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.ExoPlayerImpl.handleEvent(ExoPlayerImpl.java:567)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.google.android.exoplayer2.ExoPlayerImpl$1.handleMessage(ExoPlayerImpl.java:109)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:105)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6798)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
07-10 11:52:25.133  9551  9551 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

Using an older version of ExoPlayer works fine (2.6.1).

Reproduction steps

See the provided DASH media presentation

Link to test content

Unfortunately no link but the manifest file that cases the issue: manifest_period.mpd.txt

Version of ExoPlayer being used

Non-working version: 2.8.2 Working fine in: 2.6.1

Device(s) and version(s) of Android being used

Emulator Android 7.1.1 and OnePlus3T Android 8.0

Link

The following issue seem to be similar use case: https://github.com/google/ExoPlayer/issues/3431

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 27 (13 by maintainers)

Commits related to this issue

Most upvoted comments