ExoPlayer Version
2.18.2
Devices that reproduce the issue
- Samsung Galaxy S21 running Android 13
- NVIDIA Shield running Android 11
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Add the following code to onTracksChanged() in PlayerEventListener in PlayerActivity
if (player != null) {
Log.d("ExoPlayerTunneling", String.format("isTunnelingEnabled=%b", player.isTunnelingEnabled()));
}
- Open demo app
- Play
HLS > Apple 4x3 basic stream (TS). Not sure if all playbacks will crash, but this does.
Expected result
Media plays and the console logs if tunneling is enabled or not
Actual result
Crashes with the stack trace:
java.lang.NullPointerException: Attempt to read from field 'boolean com.google.android.exoplayer2.RendererConfiguration.tunneling' on a null object reference
at com.google.android.exoplayer2.ExoPlayerImpl.isTunnelingEnabled(ExoPlayerImpl.java:1673)
at com.google.android.exoplayer2.demo.PlayerActivity$PlayerEventListener.onTracksChanged(PlayerActivity.java:505)
at com.google.android.exoplayer2.ExoPlayerImpl.lambda$updatePlaybackInfo$17(ExoPlayerImpl.java:1909)
at com.google.android.exoplayer2.ExoPlayerImpl$$ExternalSyntheticLambda3.invoke(Unknown Source:4)
at com.google.android.exoplayer2.util.ListenerSet$ListenerHolder.invoke(ListenerSet.java:282)
at com.google.android.exoplayer2.util.ListenerSet.lambda$queueEvent$0(ListenerSet.java:190)
at com.google.android.exoplayer2.util.ListenerSet$$ExternalSyntheticLambda1.run(Unknown Source:6)
at com.google.android.exoplayer2.util.ListenerSet.flushEvents(ListenerSet.java:211)
at com.google.android.exoplayer2.ExoPlayerImpl.updatePlaybackInfo(ExoPlayerImpl.java:1966)
at com.google.android.exoplayer2.ExoPlayerImpl.handlePlaybackInfo(ExoPlayerImpl.java:1794)
at com.google.android.exoplayer2.ExoPlayerImpl.lambda$new$1$com-google-android-exoplayer2-ExoPlayerImpl(ExoPlayerImpl.java:312)
at com.google.android.exoplayer2.ExoPlayerImpl$$ExternalSyntheticLambda20.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7668)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Media
HLS > Apple 4x3 basic stream (TS) from the demo app
Bug Report
ExoPlayer Version
2.18.2
Devices that reproduce the issue
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Add the following code to
onTracksChanged()inPlayerEventListenerinPlayerActivityHLS > Apple 4x3 basic stream (TS). Not sure if all playbacks will crash, but this does.Expected result
Media plays and the console logs if tunneling is enabled or not
Actual result
Crashes with the stack trace:
Media
HLS > Apple 4x3 basic stream (TS)from the demo appBug Report
adb bugreportto [email protected] after filing this issue.