-
Notifications
You must be signed in to change notification settings - Fork 647
Closed
Labels
Description
Version
Media3 1.6.1
More version details
No response
Devices that reproduce the issue
- Pixel 7 Pro running Android 15
- Pixel 9 (emulator) running Android 16
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
No
Reproduction steps
- Play media on device.
- Without pausing playback, start casting media.
- Without pausing playback, stop casting.
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:
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)
Edit: Additional exception found when reproducing this error with videos:
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
Media
Not applicable
Bug Report
- You will email the zip file produced by
adb bugreportto android-media-github@google.com after filing this issue.