Skip to content

NPE when remove child media source from (lazy) ConcatenatingMediaSource #4986

@Khang-NT

Description

@Khang-NT

Issue description, Reproduction steps

  1. Create ConcatenatingMediaSource with useLazyPreparation = true
  2. Add some child media source and play
  3. Delete 1 child media source, exoplayer will crash if this media source still not prepared

Link to test content

None

Version of ExoPlayer being used

2.9.0

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

Android 8.0

Stacktrace

com.google.android.exoplayer2.ExoPlaybackException: java.lang.NullPointerException
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:359)
        at android.os.Handler.dispatchMessage(Handler.java:101)
        at android.os.Looper.loop(Looper.java:164)
        at android.os.HandlerThread.run(HandlerThread.java:65)
     Caused by: java.lang.NullPointerException
        at com.google.android.exoplayer2.util.Assertions.checkNotNull(Assertions.java:111)
        at com.google.android.exoplayer2.source.CompositeMediaSource.releaseChildSource(CompositeMediaSource.java:121)
        at com.google.android.exoplayer2.source.ConcatenatingMediaSource.removeMediaSourceInternal(ConcatenatingMediaSource.java:716)
        at com.google.android.exoplayer2.source.ConcatenatingMediaSource.handleMessage(ConcatenatingMediaSource.java:577)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.deliverMessage(ExoPlayerImplInternal.java:871)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.sendMessageToTarget(ExoPlayerImplInternal.java:842)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.sendMessageInternal(ExoPlayerImplInternal.java:824)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:333)
        at android.os.Handler.dispatchMessage(Handler.java:101) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.os.HandlerThread.run(HandlerThread.java:65) 

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions