这是indexloc提供的服务,不要输入任何密码
Skip to content

NullPointerException when trying to read isTunnelingEnabled() #10977

@hakonschia

Description

@hakonschia

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()));
}
  1. Open demo app
  2. 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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions