From e335022e0b5ff4f1370f7606107ae640c4a6b55d Mon Sep 17 00:00:00 2001 From: samrobinson Date: Thu, 30 Sep 2021 12:36:29 +0100 Subject: [PATCH] Fix mediaMetadata being reset when media is repeated. Issue: #9458 PiperOrigin-RevId: 399901865 --- RELEASENOTES.md | 2 ++ .../main/java/com/google/android/exoplayer2/ExoPlayerImpl.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a8964091516..c7bb21f2398 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -13,6 +13,8 @@ `GlUtil.glAssertionsEnabled` instead. * Move `Player.addListener(EventListener)` and `Player.removeListener(EventListener)` out of `Player` into subclasses. + * Fix `mediaMetadata` being reset when media is + repeated ([#9458](https://github.com/google/ExoPlayer/issues/9458)). * Video: * Fix bug in `MediaCodecVideoRenderer` that resulted in re-using a released `Surface` when playing without an app-provided `Surface` diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java index d2c4f1e716e..26924757190 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java @@ -1219,7 +1219,8 @@ private void updatePlaybackInfo( } newMediaMetadata = mediaItem != null ? mediaItem.mediaMetadata : MediaMetadata.EMPTY; } - if (!previousPlaybackInfo.staticMetadata.equals(newPlaybackInfo.staticMetadata)) { + if (mediaItemTransitioned + || !previousPlaybackInfo.staticMetadata.equals(newPlaybackInfo.staticMetadata)) { newMediaMetadata = newMediaMetadata.buildUpon().populateFromMetadata(newPlaybackInfo.staticMetadata).build(); }