diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 5017ab3ec1..5632c84157 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -3,6 +3,7 @@ ### dev-v2 (not yet released) * Core library: + * Implement getTag for SilenceMediaSource. * Add `Player.getTrackSelector` to access track selector from UI module. * Added `TextComponent.getCurrentCues` because the current cues are no longer forwarded to a new `TextOutput` in `SimpleExoPlayer` diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java index 2753cfe8f5..a7669ae345 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/SilenceMediaSource.java @@ -151,6 +151,12 @@ public final class SilenceMediaSource extends BaseMediaSource { return mediaItem; } + @Nullable + @Override + public Object getTag() { + return Assertions.checkNotNull(mediaItem.playbackProperties).tag; + } + @Override protected void releaseSourceInternal() {} diff --git a/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java b/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java index 66a1da0f00..d8a7727953 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/source/SilenceMediaSourceTest.java @@ -52,6 +52,16 @@ public class SilenceMediaSourceTest { assertThat(mediaSource.getMediaItem().playbackProperties.tag).isEqualTo(tag); } + @Test + public void builderSetTag_setsTagOfMediaSource() { + Object tag = new Object(); + + SilenceMediaSource mediaSource = + new SilenceMediaSource.Factory().setTag(tag).setDurationUs(1_000_000).createMediaSource(); + + assertThat(mediaSource.getMediaItem().playbackProperties.tag).isEqualTo(tag); + } + @Test public void builder_setDurationUsNotCalled_throwsIllegalStateException() { assertThrows(IllegalStateException.class, new SilenceMediaSource.Factory()::createMediaSource);