Skip to content

Tunneling playback intermittent crash: MediaCodecVideoRenderer.onEnabled() sees tunnelingAudioSessionId == AUDIO_SESSION_ID_UNSET #3099

@zingergarfield

Description

@zingergarfield

Version

Media3 1.9.2

More version details

  • Media3: 1.9.2
  • Also relevant release-note note introduced in 1.6.0: Initial audio session id is no longer immediately available after creating the player.

Devices that reproduce the issue

Android STB with os 14 or os 11, which supports tunneling playback.

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Yes

Reproduction steps

Enable tunneling playback, and play demo dash stream.

TrackSelectionParameters parameters = new DefaultTrackSelector.Parameters.Builder()
.setTunnelingEnabled(true)
.build();
player.setTrackSelectionParameters(parameters);

Expected result

The player can play stream smooth with tunneling playback mode.

Actual result

Intermittent crash at startup with unexpected runtime error.

2026-03-03 23:00:37.725 11175-11394 ExoPlayerImplInternal androidx.media3.demo.main E Playback error
androidx.media3.exoplayer.ExoPlaybackException: Unexpected runtime error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:925)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.lang.IllegalStateException
at com.google.common.base.Preconditions.checkState(Preconditions.java:497)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onEnabled(MediaCodecVideoRenderer.java:873)
at androidx.media3.exoplayer.BaseRenderer.enable(BaseRenderer.java:151)
at androidx.media3.exoplayer.RendererHolder.enable(RendererHolder.java:500)
at androidx.media3.exoplayer.ExoPlayerImplInternal.enableRenderer(ExoPlayerImplInternal.java:3354)
at androidx.media3.exoplayer.ExoPlayerImplInternal.enableRenderers(ExoPlayerImplInternal.java:3322)
at androidx.media3.exoplayer.ExoPlayerImplInternal.enableRenderers(ExoPlayerImplInternal.java:3303)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleLoadingPeriodPrepared(ExoPlayerImplInternal.java:3106)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handlePeriodPrepared(ExoPlayerImplInternal.java:3074)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:751)

Media

demo app stream "HD(MP4, H264)"

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