Version
Media3 main branch
More version details
No response
Devices that reproduce the issue
Samsung M30s running Android 11
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Reproduction Steps
- Create a MediaSessionService hosting an ExoPlayer.
- Connect to it from the UI using a MediaController.
- Use Media3 Compose UI (media3-ui-compose) and create a PresentationState using the MediaController.
- playback of a live HLS/DASH stream.
- Replace the currently playing MediaItem with another live stream URL (e.g. quality switch from Low → Medium).
For reference I am using same MediaSessionService setup as done in AdaptiveJetStream sample, and for me the crash is triggered when I do player.replaceMediaItem
Expected result
The Media plays successfully when switched through player.replaceMediaItem
Actual result
Playback crashses with following stack trace:
java.lang.UnsupportedOperationException at androidx.media3.common.Timeline$RemotableTimeline.getIndexOfPeriod(Timeline.java:1691) at androidx.media3.ui.compose.state.PresentationState.shouldKeepSurfaceVisible(PresentationState.kt:175) at androidx.media3.ui.compose.state.PresentationState.observe$lambda$0(PresentationState.kt:117) at androidx.media3.ui.compose.state.PresentationState$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0) at androidx.media3.common.PlayerListener.onEvents(PlayerExtensions.kt:147) at androidx.media3.session.MediaControllerImplBase.lambda$new$0$androidx-media3-session-MediaControllerImplBase(MediaControllerImplBase.java:185) at androidx.media3.session.MediaControllerImplBase$$ExternalSyntheticLambda86.invoke(D8$$SyntheticClass:0) at androidx.media3.common.util.ListenerSet$ListenerHolder.iterationFinished(ListenerSet.java:477) at androidx.media3.common.util.ListenerSet.handleMessage(ListenerSet.java:421) at androidx.media3.common.util.ListenerSet.$r8$lambda$rFcF5Pkb99AL585p5-2u78YfNkY(Unknown Source:0) at androidx.media3.common.util.ListenerSet$$ExternalSyntheticLambda0.handleMessage(D8$$SyntheticClass:0) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Media
Not applicable
Bug Report
Version
Media3 main branch
More version details
No response
Devices that reproduce the issue
Samsung M30s running Android 11
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Reproduction Steps
For reference I am using same MediaSessionService setup as done in AdaptiveJetStream sample, and for me the crash is triggered when I do player.replaceMediaItem
Expected result
The Media plays successfully when switched through player.replaceMediaItem
Actual result
Playback crashses with following stack trace:
java.lang.UnsupportedOperationException at androidx.media3.common.Timeline$RemotableTimeline.getIndexOfPeriod(Timeline.java:1691) at androidx.media3.ui.compose.state.PresentationState.shouldKeepSurfaceVisible(PresentationState.kt:175) at androidx.media3.ui.compose.state.PresentationState.observe$lambda$0(PresentationState.kt:117) at androidx.media3.ui.compose.state.PresentationState$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0) at androidx.media3.common.PlayerListener.onEvents(PlayerExtensions.kt:147) at androidx.media3.session.MediaControllerImplBase.lambda$new$0$androidx-media3-session-MediaControllerImplBase(MediaControllerImplBase.java:185) at androidx.media3.session.MediaControllerImplBase$$ExternalSyntheticLambda86.invoke(D8$$SyntheticClass:0) at androidx.media3.common.util.ListenerSet$ListenerHolder.iterationFinished(ListenerSet.java:477) at androidx.media3.common.util.ListenerSet.handleMessage(ListenerSet.java:421) at androidx.media3.common.util.ListenerSet.$r8$lambda$rFcF5Pkb99AL585p5-2u78YfNkY(Unknown Source:0) at androidx.media3.common.util.ListenerSet$$ExternalSyntheticLambda0.handleMessage(D8$$SyntheticClass:0) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)Media
Not applicable
Bug Report
adb bugreportto android-media-github@google.com after filing this issue.