The media should resume successfully on ExoPlayer.
On rare cases, playback will fail and ExoPlayer won't play media anymore until fully restarting the app. CastPlayer continues to work correctly. It throws the following stacktrace:
Audio sink error
androidx.media3.exoplayer.audio.AudioSink$InitializationException: AudioTrack init failed 0 Config(48000, 12, 2) Format(null, null, null, audio/raw, null, -1, null, [-1, -1, -1.0, null], [2, 48000])
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1104)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1076)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrackWithRetry(DefaultAudioSink.java:1054)
at androidx.media3.exoplayer.audio.DefaultAudioSink.initializeAudioTrack(DefaultAudioSink.java:833)
at androidx.media3.exoplayer.audio.DefaultAudioSink.handleBuffer(DefaultAudioSink.java:932)
at androidx.media3.exoplayer.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:817)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:2109)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:878)
at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:381)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1329)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:646)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.os.HandlerThread.run(HandlerThread.java:85)
Caused by: java.lang.IllegalArgumentException: Invalid audio session ID -1
at android.media.AudioTrack$Builder.setSessionId(AudioTrack.java:1246)
at androidx.media3.exoplayer.audio.DefaultAudioTrackProvider.createAudioTrackV23(DefaultAudioTrackProvider.java:63)
at androidx.media3.exoplayer.audio.DefaultAudioTrackProvider.getAudioTrack(DefaultAudioTrackProvider.java:41)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1102)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1076)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrackWithRetry(DefaultAudioSink.java:1054)
at androidx.media3.exoplayer.audio.DefaultAudioSink.initializeAudioTrack(DefaultAudioSink.java:833)
at androidx.media3.exoplayer.audio.DefaultAudioSink.handleBuffer(DefaultAudioSink.java:932)
at androidx.media3.exoplayer.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:817)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:2109)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:878)
at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:381)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1329)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:646)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.os.HandlerThread.run(HandlerThread.java:85)
Playback error
androidx.media3.exoplayer.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(1/15, null, video/mp2t, audio/mp4a-latm, mp4a.40.2, -1, en, [-1, -1, -1.0, null], [2, 48000]), format_supported=YES
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:745)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.os.HandlerThread.run(HandlerThread.java:85)
Caused by: androidx.media3.exoplayer.audio.AudioSink$InitializationException: AudioTrack init failed 0 Config(48000, 12, 2) Format(1/15, null, null, audio/raw, null, -1, en, [-1, -1, -1.0, null], [2, 48000])
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1105)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1077)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrackWithRetry(DefaultAudioSink.java:1055)
at androidx.media3.exoplayer.audio.DefaultAudioSink.initializeAudioTrack(DefaultAudioSink.java:834)
at androidx.media3.exoplayer.audio.DefaultAudioSink.handleBuffer(DefaultAudioSink.java:933)
at androidx.media3.exoplayer.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:835)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:2109)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:878)
at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:381)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1328)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:646)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.os.HandlerThread.run(HandlerThread.java:85)
Suppressed: androidx.media3.exoplayer.audio.AudioSink$InitializationException: AudioTrack init failed 0 Config(48000, 12, 2) Format(1/15, null, null, audio/raw, null, -1, en, [-1, -1, -1.0, null], [2, 48000])
... 15 more
Caused by: java.lang.IllegalArgumentException: Invalid audio session ID -1
at android.media.AudioTrack$Builder.setSessionId(AudioTrack.java:1246)
at androidx.media3.exoplayer.audio.DefaultAudioTrackProvider.createAudioTrackV23(DefaultAudioTrackProvider.java:63)
at androidx.media3.exoplayer.audio.DefaultAudioTrackProvider.getAudioTrack(DefaultAudioTrackProvider.java:41)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1103)
... 14 more
Caused by: java.lang.IllegalArgumentException: Invalid audio session ID -1
at android.media.AudioTrack$Builder.setSessionId(AudioTrack.java:1246)
at androidx.media3.exoplayer.audio.DefaultAudioTrackProvider.createAudioTrackV23(DefaultAudioTrackProvider.java:63)
at androidx.media3.exoplayer.audio.DefaultAudioTrackProvider.getAudioTrack(DefaultAudioTrackProvider.java:41)
at androidx.media3.exoplayer.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1103)
... 14 more
Version
Media3 1.6.1
More version details
No response
Devices that reproduce the issue
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
No
Reproduction steps
Expected result
The media should resume successfully on ExoPlayer.
Actual result
On rare cases, playback will fail and ExoPlayer won't play media anymore until fully restarting the app. CastPlayer continues to work correctly. It throws the following stacktrace:
Edit: Additional exception found when reproducing this error with videos:
Media
Not applicable
Bug Report
adb bugreportto android-media-github@google.com after filing this issue.