diff --git a/RELEASENOTES.md b/RELEASENOTES.md index f90fcc1014c..0e442d59dda 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -21,6 +21,10 @@ * Muxers: * IMA extension: * Session: + * Fix bug where calling `setSessionExtras` from the main thread when + running the player from a different application thread then the main + thread caused an `IllegalStateException` + ([#2265](https://github.com/androidx/media/pull/2265)). * UI: * Downloads: * OkHttp extension: diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java index fabf15c8b18..edb0626e7b8 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java @@ -1135,7 +1135,7 @@ public void onSessionExtrasChanged(int seq, Bundle sessionExtras) { PlayerWrapper playerWrapper = sessionImpl.getPlayerWrapper(); playerWrapper.setLegacyExtras(sessionExtras); sessionCompat.setExtras(playerWrapper.getLegacyExtras()); - sessionCompat.setPlaybackState(sessionImpl.getPlayerWrapper().createPlaybackStateCompat()); + updateLegacySessionPlaybackState(sessionImpl.getPlayerWrapper()); } @Override