diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java
index 361655f0f4..2e89df6431 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java
@@ -23,16 +23,12 @@ import androidx.annotation.Nullable;
import androidx.media3.common.C;
import androidx.media3.common.Format;
import androidx.media3.common.PlaybackException;
-import androidx.media3.common.Timeline;
import androidx.media3.common.util.Assertions;
import androidx.media3.common.util.Clock;
import androidx.media3.common.util.UnstableApi;
-import androidx.media3.common.util.Util;
import androidx.media3.decoder.DecoderInputBuffer;
import androidx.media3.decoder.DecoderInputBuffer.InsufficientCapacityException;
import androidx.media3.exoplayer.analytics.PlayerId;
-import androidx.media3.exoplayer.source.MediaPeriod;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream;
import androidx.media3.exoplayer.source.SampleStream.ReadDataResult;
import androidx.media3.exoplayer.source.SampleStream.ReadFlags;
@@ -59,7 +55,6 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
private long readingPositionUs;
private boolean streamIsFinal;
private boolean throwRendererExceptionIsExecuting;
- private Timeline timeline;
@GuardedBy("lock")
@Nullable
@@ -74,7 +69,6 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
this.trackType = trackType;
formatHolder = new FormatHolder();
readingPositionUs = C.TIME_END_OF_SOURCE;
- timeline = Timeline.EMPTY;
}
@Override
@@ -114,14 +108,13 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
boolean joining,
boolean mayRenderStartOfStream,
long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ long offsetUs)
throws ExoPlaybackException {
Assertions.checkState(state == STATE_DISABLED);
this.configuration = configuration;
state = STATE_ENABLED;
onEnabled(joining, mayRenderStartOfStream);
- replaceStream(formats, stream, startPositionUs, offsetUs, mediaPeriodId);
+ replaceStream(formats, stream, startPositionUs, offsetUs);
resetPosition(startPositionUs, joining);
}
@@ -133,13 +126,8 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
}
@Override
- @SuppressWarnings("deprecation") // Calling deprecated method.
public final void replaceStream(
- Format[] formats,
- SampleStream stream,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ Format[] formats, SampleStream stream, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
Assertions.checkState(!streamIsFinal);
this.stream = stream;
@@ -148,9 +136,6 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
}
streamFormats = formats;
streamOffsetUs = offsetUs;
- onStreamChanged(formats, startPositionUs, offsetUs, mediaPeriodId);
- // Call the deprecated method after the new method, so that classes that migrate to the new
- // method do not impact their subclasses that still override the deprecated method.
onStreamChanged(formats, startPositionUs, offsetUs);
}
@@ -185,14 +170,6 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
Assertions.checkNotNull(stream).maybeThrowError();
}
- @Override
- public final void setTimeline(Timeline timeline) {
- if (!Util.areEqual(this.timeline, timeline)) {
- this.timeline = timeline;
- onTimelineChanged(this.timeline);
- }
- }
-
@Override
public final void resetPosition(long positionUs) throws ExoPlaybackException {
resetPosition(positionUs, /* joining= */ false);
@@ -282,16 +259,6 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
// Do nothing.
}
- /**
- * @deprecated Use {@link #onStreamChanged(Format[], long, long, MediaSource.MediaPeriodId)}
- * instead.
- */
- @Deprecated
- protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs)
- throws ExoPlaybackException {
- // Do nothing.
- }
-
/**
* Called when the renderer's stream has changed. This occurs when the renderer is enabled after
* {@link #onEnabled(boolean, boolean)} has been called, and also when the stream has been
@@ -303,23 +270,17 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
* @param startPositionUs The start position of the new stream in renderer time (microseconds).
* @param offsetUs The offset that will be added to the timestamps of buffers read via {@link
* #readSource} so that decoder input buffers have monotonically increasing timestamps.
- * @param mediaPeriodId The {@link MediaSource.MediaPeriodId} of the {@link MediaPeriod} that
- * produces the stream.
* @throws ExoPlaybackException If an error occurs.
*/
- protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
// Do nothing.
}
/**
* Called when the position is reset. This occurs when the renderer is enabled after {@link
- * #onStreamChanged(Format[], long, long, MediaSource.MediaPeriodId)} has been called, and also
- * when a position discontinuity is encountered.
+ * #onStreamChanged(Format[], long, long)} has been called, and also when a position discontinuity
+ * is encountered.
*
*
After a position reset, the renderer's {@link SampleStream} is guaranteed to provide samples
* starting from a key frame.
@@ -381,17 +342,6 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
// Do nothing.
}
- /**
- * Called when a new timeline is {@linkplain #setTimeline(Timeline) set}.
- *
- *
The default implementation is a no-op.
- *
- * @param timeline The new timeline, which can also be obtained from {@link #getTimeline()}.
- */
- protected void onTimelineChanged(Timeline timeline) {
- // Do nothing
- }
-
// Methods to be called by subclasses.
/**
@@ -455,11 +405,6 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities {
return checkNotNull(clock);
}
- /** Returns the current {@link Timeline} containing the rendered stream. */
- protected final Timeline getTimeline() {
- return timeline;
- }
-
/**
* Creates an {@link ExoPlaybackException} of type {@link ExoPlaybackException#TYPE_RENDERER} for
* this renderer.
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java
index c99c25940f..489e77da17 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java
@@ -1949,9 +1949,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
/* releaseMediaSourceList= */ false,
/* resetError= */ true);
}
- for (Renderer renderer : renderers) {
- renderer.setTimeline(timeline);
- }
if (!periodPositionChanged) {
// We can keep the current playing period. Update the rest of the queued periods.
if (!queue.updateQueuedPeriods(
@@ -2249,8 +2246,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
formats,
readingPeriodHolder.sampleStreams[i],
readingPeriodHolder.getStartPositionRendererTime(),
- readingPeriodHolder.getRendererOffset(),
- readingPeriodHolder.info.id);
+ readingPeriodHolder.getRendererOffset());
} else if (renderer.isEnded()) {
// The renderer has finished playback, so we can disable it now.
disableRenderer(renderer);
@@ -2628,8 +2624,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
joining,
mayRenderStartOfStream,
startPositionUs,
- periodHolder.getRendererOffset(),
- periodHolder.info.id);
+ periodHolder.getRendererOffset());
renderer.handleMessage(
Renderer.MSG_SET_WAKEUP_LISTENER,
new Renderer.WakeupListener() {
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java
index b4a95c4910..0d2427a48d 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java
@@ -65,8 +65,8 @@ import androidx.media3.exoplayer.upstream.Allocator;
*
*
Renderers that are needed must have been enabled with the {@link #sampleStreams} for this
* {@link #mediaPeriod}. This means either {@link Renderer#enable(RendererConfiguration, Format[],
- * SampleStream, long, boolean, boolean, long, long, MediaPeriodId)} or {@link
- * Renderer#replaceStream(Format[], SampleStream, long, long, MediaPeriodId)} has been called.
+ * SampleStream, long, boolean, boolean, long, long)} or {@link Renderer#replaceStream(Format[],
+ * SampleStream, long, long)} has been called.
*
*
Renderers that are not needed must have been {@link Renderer#disable() disabled}.
*/
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java
index a67bfcf816..3b33e06a2e 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java
@@ -18,12 +18,10 @@ package androidx.media3.exoplayer;
import androidx.annotation.Nullable;
import androidx.media3.common.C;
import androidx.media3.common.Format;
-import androidx.media3.common.Timeline;
import androidx.media3.common.util.Assertions;
import androidx.media3.common.util.Clock;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.exoplayer.analytics.PlayerId;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream;
import java.io.IOException;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
@@ -76,14 +74,13 @@ public abstract class NoSampleRenderer implements Renderer, RendererCapabilities
boolean joining,
boolean mayRenderStartOfStream,
long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ long offsetUs)
throws ExoPlaybackException {
Assertions.checkState(state == STATE_DISABLED);
this.configuration = configuration;
state = STATE_ENABLED;
onEnabled(joining);
- replaceStream(formats, stream, startPositionUs, offsetUs, mediaPeriodId);
+ replaceStream(formats, stream, startPositionUs, offsetUs);
onPositionReset(positionUs, joining);
}
@@ -96,11 +93,7 @@ public abstract class NoSampleRenderer implements Renderer, RendererCapabilities
@Override
public final void replaceStream(
- Format[] formats,
- SampleStream stream,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ Format[] formats, SampleStream stream, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
Assertions.checkState(!streamIsFinal);
this.stream = stream;
@@ -194,11 +187,6 @@ public abstract class NoSampleRenderer implements Renderer, RendererCapabilities
// Do nothing.
}
- @Override
- public void setTimeline(Timeline timeline) {
- // Do nothing.
- }
-
// Methods to be overridden by subclasses.
/**
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/Renderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/Renderer.java
index baa7019654..17311ca7d1 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/Renderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/Renderer.java
@@ -27,14 +27,11 @@ import androidx.media3.common.C;
import androidx.media3.common.Effect;
import androidx.media3.common.Format;
import androidx.media3.common.Player;
-import androidx.media3.common.Timeline;
import androidx.media3.common.util.Clock;
import androidx.media3.common.util.Size;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.analytics.PlayerId;
-import androidx.media3.exoplayer.source.MediaPeriod;
-import androidx.media3.exoplayer.source.MediaSource.MediaPeriodId;
import androidx.media3.exoplayer.source.SampleStream;
import androidx.media3.exoplayer.video.VideoDecoderOutputBufferRenderer;
import androidx.media3.exoplayer.video.VideoFrameMetadataListener;
@@ -349,8 +346,6 @@ public interface Renderer extends PlayerMessage.Target {
* @param startPositionUs The start position of the stream in renderer time (microseconds).
* @param offsetUs The offset to be added to timestamps of buffers read from {@code stream} before
* they are rendered.
- * @param mediaPeriodId The {@link MediaPeriodId} of the {@link MediaPeriod} producing the {@code
- * stream}.
* @throws ExoPlaybackException If an error occurs.
*/
void enable(
@@ -361,8 +356,7 @@ public interface Renderer extends PlayerMessage.Target {
boolean joining,
boolean mayRenderStartOfStream,
long startPositionUs,
- long offsetUs,
- MediaPeriodId mediaPeriodId)
+ long offsetUs)
throws ExoPlaybackException;
/**
@@ -387,16 +381,9 @@ public interface Renderer extends PlayerMessage.Target {
* @param startPositionUs The start position of the new stream in renderer time (microseconds).
* @param offsetUs The offset to be added to timestamps of buffers read from {@code stream} before
* they are rendered.
- * @param mediaPeriodId The {@link MediaPeriodId} of the {@link MediaPeriod} producing the {@code
- * stream}.
* @throws ExoPlaybackException If an error occurs.
*/
- void replaceStream(
- Format[] formats,
- SampleStream stream,
- long startPositionUs,
- long offsetUs,
- MediaPeriodId mediaPeriodId)
+ void replaceStream(Format[] formats, SampleStream stream, long startPositionUs, long offsetUs)
throws ExoPlaybackException;
/** Returns the {@link SampleStream} being consumed, or null if the renderer is disabled. */
@@ -484,9 +471,6 @@ public interface Renderer extends PlayerMessage.Target {
*/
default void enableMayRenderStartOfStream() {}
- /** Sets the timeline that is currently being played. */
- void setTimeline(Timeline timeline);
-
/**
* Incrementally renders the {@link SampleStream}.
*
@@ -498,8 +482,8 @@ public interface Renderer extends PlayerMessage.Target {
*
The renderer may also render the very start of the media at the current position (e.g. the
* first frame of a video stream) while still in the {@link #STATE_ENABLED} state, unless it's the
* initial start of the media after calling {@link #enable(RendererConfiguration, Format[],
- * SampleStream, long, boolean, boolean, long, long, MediaPeriodId)} with {@code
- * mayRenderStartOfStream} set to {@code false}.
+ * SampleStream, long, boolean, boolean, long, long)} with {@code mayRenderStartOfStream} set to
+ * {@code false}.
*
*
This method should return quickly, and should not block if the renderer is unable to make
* useful progress.
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java
index 959289b625..309c4aa323 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java
@@ -62,7 +62,6 @@ import androidx.media3.exoplayer.audio.AudioRendererEventListener.EventDispatche
import androidx.media3.exoplayer.audio.AudioSink.SinkFormatSupport;
import androidx.media3.exoplayer.drm.DrmSession;
import androidx.media3.exoplayer.drm.DrmSession.DrmSessionException;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream.ReadDataResult;
import com.google.errorprone.annotations.ForOverride;
import java.lang.annotation.Documented;
@@ -650,13 +649,9 @@ public abstract class DecoderAudioRenderer<
}
@Override
- protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
- super.onStreamChanged(formats, startPositionUs, offsetUs, mediaPeriodId);
+ super.onStreamChanged(formats, startPositionUs, offsetUs);
firstStreamSampleRead = false;
if (outputStreamOffsetUs == C.TIME_UNSET) {
setOutputStreamOffsetUs(offsetUs);
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java
index c749b49a1f..aed5233206 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java
@@ -74,7 +74,6 @@ import androidx.media3.exoplayer.drm.DrmSession.DrmSessionException;
import androidx.media3.exoplayer.drm.FrameworkCryptoConfig;
import androidx.media3.exoplayer.mediacodec.MediaCodecUtil.DecoderQueryException;
import androidx.media3.exoplayer.source.MediaPeriod;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream;
import androidx.media3.exoplayer.source.SampleStream.ReadDataResult;
import androidx.media3.exoplayer.source.SampleStream.ReadFlags;
@@ -709,11 +708,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
}
@Override
- protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
if (outputStreamInfo.streamOffsetUs == C.TIME_UNSET) {
// This is the first stream.
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java
index dfb868258e..9ca0a1fee3 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java
@@ -32,7 +32,6 @@ import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.BaseRenderer;
import androidx.media3.exoplayer.FormatHolder;
import androidx.media3.exoplayer.RendererCapabilities;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream.ReadDataResult;
import androidx.media3.extractor.metadata.MetadataDecoder;
import androidx.media3.extractor.metadata.MetadataInputBuffer;
@@ -141,11 +140,7 @@ public final class MetadataRenderer extends BaseRenderer implements Callback {
}
@Override
- protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId) {
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) {
decoder = decoderFactory.createDecoder(formats[0]);
if (pendingMetadata != null) {
pendingMetadata =
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java
index 70756a3d4d..de74671018 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java
@@ -36,7 +36,6 @@ import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.BaseRenderer;
import androidx.media3.exoplayer.FormatHolder;
import androidx.media3.exoplayer.RendererCapabilities;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream.ReadDataResult;
import androidx.media3.extractor.text.Subtitle;
import androidx.media3.extractor.text.SubtitleDecoder;
@@ -178,11 +177,7 @@ public final class TextRenderer extends BaseRenderer implements Callback {
}
@Override
- protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId) {
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) {
outputStreamOffsetUs = offsetUs;
streamFormat = formats[0];
if (decoder != null) {
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java
index c300010bd9..a6997b8788 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java
@@ -54,7 +54,6 @@ import androidx.media3.exoplayer.FormatHolder;
import androidx.media3.exoplayer.PlayerMessage;
import androidx.media3.exoplayer.drm.DrmSession;
import androidx.media3.exoplayer.drm.DrmSession.DrmSessionException;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream.ReadDataResult;
import androidx.media3.exoplayer.video.VideoRendererEventListener.EventDispatcher;
import java.lang.annotation.Documented;
@@ -335,17 +334,13 @@ public abstract class DecoderVideoRenderer extends BaseRenderer {
}
@Override
- protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId)
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
// TODO: This shouldn't just update the output stream offset as long as there are still buffers
// of the previous stream in the decoder. It should also make sure to render the first frame of
// the next stream if the playback position reached the new stream.
outputStreamOffsetUs = offsetUs;
- super.onStreamChanged(formats, startPositionUs, offsetUs, mediaPeriodId);
+ super.onStreamChanged(formats, startPositionUs, offsetUs);
}
/**
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java
index c76e2d24a6..b372d03481 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java
@@ -28,7 +28,6 @@ import androidx.media3.exoplayer.ExoPlaybackException;
import androidx.media3.exoplayer.FormatHolder;
import androidx.media3.exoplayer.Renderer;
import androidx.media3.exoplayer.RendererCapabilities;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.SampleStream.ReadDataResult;
import java.nio.ByteBuffer;
@@ -76,11 +75,7 @@ public final class CameraMotionRenderer extends BaseRenderer {
}
@Override
- protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaSource.MediaPeriodId mediaPeriodId) {
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) {
this.offsetUs = offsetUs;
}
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java
index d3c3c2fbe1..36c903f8a9 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java
@@ -49,6 +49,7 @@ import static androidx.media3.common.Player.COMMAND_SET_TRACK_SELECTION_PARAMETE
import static androidx.media3.common.Player.COMMAND_SET_VIDEO_SURFACE;
import static androidx.media3.common.Player.COMMAND_SET_VOLUME;
import static androidx.media3.common.Player.COMMAND_STOP;
+import static androidx.media3.common.Player.STATE_ENDED;
import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState;
import static androidx.media3.test.utils.FakeSampleStream.FakeSampleStreamItem.END_OF_STREAM_ITEM;
import static androidx.media3.test.utils.FakeSampleStream.FakeSampleStreamItem.oneByteSample;
@@ -409,7 +410,7 @@ public final class ExoPlayerTest {
playerListenerOrder.verify(mockPlayerListener).onVideoSizeChanged(new VideoSize(1280, 720));
playerListenerOrder.verify(mockPlayerListener).onVideoSizeChanged(VideoSize.UNKNOWN);
playerListenerOrder.verify(mockPlayerListener).onVideoSizeChanged(new VideoSize(1280, 720));
- playerListenerOrder.verify(mockPlayerListener).onPlaybackStateChanged(Player.STATE_ENDED);
+ playerListenerOrder.verify(mockPlayerListener).onPlaybackStateChanged(STATE_ENDED);
verify(mockPlayerListener, times(3)).onVideoSizeChanged(any());
// Verify calls to analytics listener.
verify(mockAnalyticsListener, times(2)).onVideoEnabled(any(), any());
@@ -3411,7 +3412,7 @@ public final class ExoPlayerTest {
player.setMediaSource(new FakeMediaSource());
player.prepare();
player.play();
- TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED);
+ TestPlayerRunHelper.runUntilPlaybackState(player, STATE_ENDED);
// Now the player, which had a playback error, was re-prepared causing the error to be cleared.
// We expect the change to null to be notified, but not onPlayerError.
verify(mockListener).onPlayerErrorChanged(ArgumentMatchers.isNull());
@@ -8903,8 +8904,7 @@ public final class ExoPlayerTest {
boolean pendingFirstBufferTime = false;
@Override
- protected void onStreamChanged(
- Format[] formats, long startPositionUs, long offsetUs, MediaPeriodId mediaPeriodId) {
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) {
rendererStreamOffsetsUs.add(offsetUs);
pendingFirstBufferTime = true;
}
@@ -10592,8 +10592,7 @@ public final class ExoPlayerTest {
private long positionUs;
@Override
- protected void onStreamChanged(
- Format[] formats, long startPositionUs, long offsetUs, MediaPeriodId mediaPeriodId) {
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) {
this.positionUs = offsetUs;
}
@@ -12873,12 +12872,9 @@ public final class ExoPlayerTest {
@Override
protected void onStreamChanged(
- Format[] formats,
- long startPositionUs,
- long offsetUs,
- MediaPeriodId mediaPeriodId)
+ Format[] formats, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
- super.onStreamChanged(formats, startPositionUs, offsetUs, mediaPeriodId);
+ super.onStreamChanged(formats, startPositionUs, offsetUs);
streamChangeCount++;
}
@@ -13855,10 +13851,9 @@ public final class ExoPlayerTest {
FakeRenderer newlyEnabledRenderer =
new FakeRenderer(C.TRACK_TYPE_AUDIO) {
@Override
- protected void onStreamChanged(
- Format[] formats, long startPositionUs, long offsetUs, MediaPeriodId mediaPeriodId)
+ protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs)
throws ExoPlaybackException {
- super.onStreamChanged(formats, startPositionUs, offsetUs, mediaPeriodId);
+ super.onStreamChanged(formats, startPositionUs, offsetUs);
startPositionInRendererUs.set(startPositionUs);
rendererOffsetUs.set(offsetUs);
}
@@ -13887,7 +13882,7 @@ public final class ExoPlayerTest {
.setTrackTypeDisabled(C.TRACK_TYPE_AUDIO, /* disabled= */ false)
.build());
player.play();
- runUntilPlaybackState(player, Player.STATE_ENDED);
+ runUntilPlaybackState(player, STATE_ENDED);
player.release();
long expectedStartPositionInRendererUs =
@@ -13897,60 +13892,6 @@ public final class ExoPlayerTest {
assertThat(startPositionInRendererUs.get()).isEqualTo(expectedStartPositionInRendererUs);
}
- @Test
- public void newlyEnabledRenderer_timelineIsSetBeforeEnable()
- throws TimeoutException, ExoPlaybackException {
- MediaItem mediaItem = MediaItem.fromUri(SAMPLE_URI);
- ArrayList timelineOnEnabled = new ArrayList<>();
- FakeRenderer videoRenderer =
- new FakeRenderer(C.TRACK_TYPE_VIDEO) {
- @Override
- protected void onEnabled(boolean joining, boolean mayRenderStartOfStream) {
- timelineOnEnabled.add(getTimeline());
- }
- };
- ExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(videoRenderer).build();
- player.addMediaItem(mediaItem);
- player.prepare();
-
- runUntilPlaybackState(player, Player.STATE_READY);
- player.release();
-
- assertThat(timelineOnEnabled).hasSize(1);
- Timeline timeline = timelineOnEnabled.get(0);
- assertThat(timeline.getWindowCount()).isEqualTo(1);
- assertThat(timeline.getWindow(0, new Window()).mediaItem).isSameInstanceAs(mediaItem);
- }
-
- @Test
- public void changeMediaItemMidPlayback_rendererReceivesNewTimelineBeforeStreamChange()
- throws TimeoutException {
- MediaItem mediaItem1 = MediaItem.fromUri(SAMPLE_URI);
- MediaItem mediaItem2 = MediaItem.fromUri(SAMPLE_URI);
- ArrayList timelinesOnStreamChange = new ArrayList<>();
- FakeRenderer videoRenderer =
- new FakeRenderer(C.TRACK_TYPE_VIDEO) {
- @Override
- protected void onStreamChanged(
- Format[] formats, long startPositionUs, long offsetUs, MediaPeriodId mediaPeriodId) {
- timelinesOnStreamChange.add(getTimeline());
- }
- };
- ExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(videoRenderer).build();
- player.addMediaItem(mediaItem1);
- player.prepare();
- runUntilPlaybackState(player, Player.STATE_READY);
- player.setMediaItem(mediaItem2);
- runUntilPlaybackState(player, Player.STATE_READY);
- player.release();
-
- assertThat(timelinesOnStreamChange).hasSize(2);
- assertThat(timelinesOnStreamChange.get(0).getWindow(0, new Window()).mediaItem)
- .isSameInstanceAs(mediaItem1);
- assertThat(timelinesOnStreamChange.get(1).getWindow(0, new Window()).mediaItem)
- .isSameInstanceAs(mediaItem2);
- }
-
// Internal methods.
private void addWatchAsSystemFeature() {
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java
index fc3dda6290..4710314321 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java
@@ -45,7 +45,6 @@ import androidx.media3.exoplayer.RendererConfiguration;
import androidx.media3.exoplayer.analytics.PlayerId;
import androidx.media3.exoplayer.drm.DrmSessionEventListener;
import androidx.media3.exoplayer.drm.DrmSessionManager;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.upstream.DefaultAllocator;
import androidx.media3.test.utils.FakeSampleStream;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -135,8 +134,7 @@ public class DecoderAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
audioRenderer.setCurrentStreamFinal();
when(mockAudioSink.isEnded()).thenReturn(true);
while (!audioRenderer.isEnded()) {
@@ -174,8 +172,7 @@ public class DecoderAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
audioRenderer.setCurrentStreamFinal();
while (!audioRenderer.isEnded()) {
@@ -218,7 +215,6 @@ public class DecoderAudioRendererTest {
oneByteSample(/* timeUs= */ 1_001_000),
END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId = new MediaSource.MediaPeriodId(new Object());
audioRenderer.enable(
RendererConfiguration.DEFAULT,
new Format[] {FORMAT},
@@ -227,8 +223,7 @@ public class DecoderAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId);
+ /* offsetUs= */ 0);
while (!audioRenderer.hasReadStreamToEnd()) {
audioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -237,8 +232,7 @@ public class DecoderAudioRendererTest {
new Format[] {FORMAT},
fakeSampleStream2,
/* startPositionUs= */ 1_000_000,
- /* offsetUs= */ 1_000_000,
- mediaPeriodId);
+ /* offsetUs= */ 1_000_000);
audioRenderer.setCurrentStreamFinal();
while (!audioRenderer.isEnded()) {
audioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java
index 944cf7a0a1..b70bacf266 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java
@@ -49,7 +49,6 @@ import androidx.media3.exoplayer.drm.DrmSessionEventListener;
import androidx.media3.exoplayer.drm.DrmSessionManager;
import androidx.media3.exoplayer.mediacodec.MediaCodecInfo;
import androidx.media3.exoplayer.mediacodec.MediaCodecSelector;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.upstream.DefaultAllocator;
import androidx.media3.test.utils.FakeSampleStream;
import androidx.media3.test.utils.TestUtil;
@@ -192,8 +191,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.start();
mediaCodecAudioRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
@@ -250,8 +248,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.start();
mediaCodecAudioRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
@@ -315,6 +312,7 @@ public class MediaCodecAudioRendererTest {
ImmutableList.of(
oneByteSample(/* timeUs= */ 0, C.BUFFER_FLAG_KEY_FRAME), END_OF_STREAM_ITEM));
fakeSampleStream.writeData(/* startPositionUs= */ 0);
+
exceptionThrowingRenderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
exceptionThrowingRenderer.enable(
RendererConfiguration.DEFAULT,
@@ -324,8 +322,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
exceptionThrowingRenderer.start();
exceptionThrowingRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
@@ -406,7 +403,6 @@ public class MediaCodecAudioRendererTest {
oneByteSample(/* timeUs= */ 1_001_000),
END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId = new MediaSource.MediaPeriodId(new Object());
mediaCodecAudioRenderer.enable(
RendererConfiguration.DEFAULT,
new Format[] {AUDIO_AAC},
@@ -415,8 +411,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId);
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.start();
while (!mediaCodecAudioRenderer.hasReadStreamToEnd()) {
@@ -426,8 +421,7 @@ public class MediaCodecAudioRendererTest {
new Format[] {AUDIO_AAC},
fakeSampleStream2,
/* startPositionUs= */ 1_000_000,
- /* offsetUs= */ 1_000_000,
- mediaPeriodId);
+ /* offsetUs= */ 1_000_000);
mediaCodecAudioRenderer.setCurrentStreamFinal();
while (!mediaCodecAudioRenderer.isEnded()) {
mediaCodecAudioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -493,6 +487,7 @@ public class MediaCodecAudioRendererTest {
oneByteSample(/* timeUs= */ 1_000),
END_OF_STREAM_ITEM));
fakeSampleStream.writeData(/* startPositionUs= */ 0);
+
mediaCodecAudioRenderer.enable(
RENDERER_CONFIGURATION_OFFLOAD_ENABLED_GAPLESS_REQUIRED,
new Format[] {format},
@@ -501,8 +496,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.start();
mediaCodecAudioRenderer.setCurrentStreamFinal();
@@ -531,6 +525,7 @@ public class MediaCodecAudioRendererTest {
oneByteSample(/* timeUs= */ 1_000),
END_OF_STREAM_ITEM));
fakeSampleStream.writeData(/* startPositionUs= */ 0);
+
mediaCodecAudioRenderer.enable(
RENDERER_CONFIGURATION_OFFLOAD_ENABLED_GAPLESS_REQUIRED,
new Format[] {format},
@@ -539,8 +534,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.start();
mediaCodecAudioRenderer.setCurrentStreamFinal();
@@ -581,7 +575,6 @@ public class MediaCodecAudioRendererTest {
oneByteSample(/* timeUs= */ 1_001_000),
END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId = new MediaSource.MediaPeriodId(new Object());
mediaCodecAudioRenderer.enable(
RENDERER_CONFIGURATION_OFFLOAD_ENABLED_GAPLESS_REQUIRED,
new Format[] {format1},
@@ -590,8 +583,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId);
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.start();
while (!mediaCodecAudioRenderer.hasReadStreamToEnd()) {
mediaCodecAudioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -601,8 +593,7 @@ public class MediaCodecAudioRendererTest {
new Format[] {format2},
fakeSampleStream2,
/* startPositionUs= */ 1_000_000,
- /* offsetUs= */ 1_000_000,
- mediaPeriodId);
+ /* offsetUs= */ 1_000_000);
mediaCodecAudioRenderer.setCurrentStreamFinal();
while (!mediaCodecAudioRenderer.isEnded()) {
mediaCodecAudioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -643,9 +634,6 @@ public class MediaCodecAudioRendererTest {
oneByteSample(/* timeUs= */ 1_001_000),
END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
-
mediaCodecAudioRenderer.enable(
RENDERER_CONFIGURATION_OFFLOAD_ENABLED_GAPLESS_REQUIRED,
new Format[] {format1},
@@ -654,8 +642,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.start();
while (!mediaCodecAudioRenderer.hasReadStreamToEnd()) {
mediaCodecAudioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -666,8 +653,7 @@ public class MediaCodecAudioRendererTest {
new Format[] {format2},
fakeSampleStream2,
/* startPositionUs= */ 1_000_000,
- /* offsetUs= */ 1_000_000,
- mediaPeriodId2);
+ /* offsetUs= */ 1_000_000);
mediaCodecAudioRenderer.setCurrentStreamFinal();
while (!mediaCodecAudioRenderer.isEnded()) {
mediaCodecAudioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -707,8 +693,7 @@ public class MediaCodecAudioRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecAudioRenderer.setCurrentStreamFinal();
while (!mediaCodecAudioRenderer.isEnded()) {
mediaCodecAudioRenderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java
index 70fc01b629..6e46b84812 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/image/ImageRendererTest.java
@@ -29,7 +29,6 @@ import androidx.media3.exoplayer.RendererConfiguration;
import androidx.media3.exoplayer.analytics.PlayerId;
import androidx.media3.exoplayer.drm.DrmSessionEventListener;
import androidx.media3.exoplayer.drm.DrmSessionManager;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.upstream.DefaultAllocator;
import androidx.media3.test.utils.FakeSampleStream;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -94,8 +93,7 @@ public class ImageRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
renderer.setCurrentStreamFinal();
while (!renderer.isReady()) {
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecRendererTest.java
index 157bbd7bbc..0050c7ade5 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecRendererTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecRendererTest.java
@@ -41,7 +41,6 @@ import androidx.media3.exoplayer.RendererConfiguration;
import androidx.media3.exoplayer.analytics.PlayerId;
import androidx.media3.exoplayer.drm.DrmSessionEventListener;
import androidx.media3.exoplayer.drm.DrmSessionManager;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.upstream.DefaultAllocator;
import androidx.media3.test.utils.FakeSampleStream;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -67,8 +66,6 @@ public class MediaCodecRendererTest {
createFakeSampleStream(format1, /* sampleTimesUs...= */ 0, 100, 200, 300);
FakeSampleStream fakeSampleStream2 =
createFakeSampleStream(format2, /* sampleTimesUs...= */ 0, 100, 200);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
MediaCodecRenderer renderer = spy(new TestRenderer());
renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
@@ -80,8 +77,7 @@ public class MediaCodecRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
renderer.start();
long positionUs = 0;
while (!renderer.hasReadStreamToEnd()) {
@@ -89,11 +85,7 @@ public class MediaCodecRendererTest {
positionUs += 100;
}
renderer.replaceStream(
- new Format[] {format2},
- fakeSampleStream2,
- /* startPositionUs= */ 400,
- /* offsetUs= */ 400,
- mediaPeriodId2);
+ new Format[] {format2}, fakeSampleStream2, /* startPositionUs= */ 400, /* offsetUs= */ 400);
renderer.setCurrentStreamFinal();
while (!renderer.isEnded()) {
renderer.render(positionUs, SystemClock.elapsedRealtime());
@@ -127,8 +119,6 @@ public class MediaCodecRendererTest {
createFakeSampleStream(format1, /* sampleTimesUs...= */ 0, 100, 200, 300, 400, 500, 600);
FakeSampleStream fakeSampleStream2 =
createFakeSampleStream(format2, /* sampleTimesUs...= */ 0, 100, 200);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
MediaCodecRenderer renderer = spy(new TestRenderer());
renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
@@ -140,8 +130,7 @@ public class MediaCodecRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
renderer.start();
long positionUs = 0;
while (!renderer.hasReadStreamToEnd()) {
@@ -149,11 +138,7 @@ public class MediaCodecRendererTest {
positionUs += 100;
}
renderer.replaceStream(
- new Format[] {format2},
- fakeSampleStream2,
- /* startPositionUs= */ 400,
- /* offsetUs= */ 400,
- mediaPeriodId2);
+ new Format[] {format2}, fakeSampleStream2, /* startPositionUs= */ 400, /* offsetUs= */ 400);
renderer.setCurrentStreamFinal();
while (!renderer.isEnded()) {
renderer.render(positionUs, SystemClock.elapsedRealtime());
@@ -190,8 +175,6 @@ public class MediaCodecRendererTest {
createFakeSampleStream(format1, /* sampleTimesUs...= */ 0, 100, 200, 300);
FakeSampleStream fakeSampleStream2 =
createFakeSampleStream(format2, /* sampleTimesUs...= */ 0, 100, 200, 300, 400);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
MediaCodecRenderer renderer = spy(new TestRenderer());
renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
@@ -203,8 +186,7 @@ public class MediaCodecRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
renderer.start();
long positionUs = 0;
while (!renderer.hasReadStreamToEnd()) {
@@ -212,11 +194,7 @@ public class MediaCodecRendererTest {
positionUs += 100;
}
renderer.replaceStream(
- new Format[] {format2},
- fakeSampleStream2,
- /* startPositionUs= */ 400,
- /* offsetUs= */ 200,
- mediaPeriodId2);
+ new Format[] {format2}, fakeSampleStream2, /* startPositionUs= */ 400, /* offsetUs= */ 200);
renderer.setCurrentStreamFinal();
while (!renderer.isEnded()) {
renderer.render(positionUs, SystemClock.elapsedRealtime());
@@ -251,8 +229,6 @@ public class MediaCodecRendererTest {
FakeSampleStream fakeSampleStream1 = createFakeSampleStream(format1 /* no samples */);
FakeSampleStream fakeSampleStream2 =
createFakeSampleStream(format2, /* sampleTimesUs...= */ 0, 100, 200);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
MediaCodecRenderer renderer = spy(new TestRenderer());
renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
@@ -264,8 +240,7 @@ public class MediaCodecRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
renderer.start();
long positionUs = 0;
while (!renderer.hasReadStreamToEnd()) {
@@ -273,11 +248,7 @@ public class MediaCodecRendererTest {
positionUs += 100;
}
renderer.replaceStream(
- new Format[] {format2},
- fakeSampleStream2,
- /* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId2);
+ new Format[] {format2}, fakeSampleStream2, /* startPositionUs= */ 0, /* offsetUs= */ 0);
renderer.setCurrentStreamFinal();
while (!renderer.isEnded()) {
renderer.render(positionUs, SystemClock.elapsedRealtime());
@@ -309,9 +280,6 @@ public class MediaCodecRendererTest {
FakeSampleStream fakeSampleStream2 = createFakeSampleStream(format2 /* no samples */);
FakeSampleStream fakeSampleStream3 =
createFakeSampleStream(format3, /* sampleTimesUs...= */ 0, 100, 200);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId3 = new MediaSource.MediaPeriodId(new Object());
MediaCodecRenderer renderer = spy(new TestRenderer());
renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
@@ -323,8 +291,7 @@ public class MediaCodecRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
renderer.start();
long positionUs = 0;
while (!renderer.hasReadStreamToEnd()) {
@@ -332,21 +299,13 @@ public class MediaCodecRendererTest {
positionUs += 100;
}
renderer.replaceStream(
- new Format[] {format2},
- fakeSampleStream2,
- /* startPositionUs= */ 200,
- /* offsetUs= */ 200,
- mediaPeriodId2);
+ new Format[] {format2}, fakeSampleStream2, /* startPositionUs= */ 200, /* offsetUs= */ 200);
while (!renderer.hasReadStreamToEnd()) {
renderer.render(positionUs, SystemClock.elapsedRealtime());
positionUs += 100;
}
renderer.replaceStream(
- new Format[] {format3},
- fakeSampleStream3,
- /* startPositionUs= */ 200,
- /* offsetUs= */ 200,
- mediaPeriodId3);
+ new Format[] {format3}, fakeSampleStream3, /* startPositionUs= */ 200, /* offsetUs= */ 200);
renderer.setCurrentStreamFinal();
while (!renderer.isEnded()) {
renderer.render(positionUs, SystemClock.elapsedRealtime());
@@ -375,7 +334,6 @@ public class MediaCodecRendererTest {
new Format.Builder().setSampleMimeType(MimeTypes.AUDIO_AAC).setAverageBitrate(1000).build();
FakeSampleStream fakeSampleStream =
createFakeSampleStream(format, /* sampleTimesUs...= */ 0, 100, 200, 300, 400, 500);
- MediaSource.MediaPeriodId mediaPeriodId = new MediaSource.MediaPeriodId(new Object());
MediaCodecRenderer renderer = spy(new TestRenderer());
renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
@@ -387,8 +345,7 @@ public class MediaCodecRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 300,
- /* offsetUs= */ 0,
- mediaPeriodId);
+ /* offsetUs= */ 0);
renderer.start();
renderer.setCurrentStreamFinal();
long positionUs = 0;
@@ -418,7 +375,6 @@ public class MediaCodecRendererTest {
new Format.Builder().setSampleMimeType(MimeTypes.AUDIO_AAC).setAverageBitrate(1000).build();
FakeSampleStream fakeSampleStream =
createFakeSampleStream(format, /* sampleTimesUs...= */ 0, 100, 200, 300, 400, 500);
- MediaSource.MediaPeriodId mediaPeriodId = new MediaSource.MediaPeriodId(new Object());
MediaCodecRenderer renderer = spy(new TestRenderer());
renderer.init(/* index= */ 0, PlayerId.UNSET, Clock.DEFAULT);
renderer.enable(
@@ -429,8 +385,7 @@ public class MediaCodecRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 400,
- /* offsetUs= */ 0,
- mediaPeriodId);
+ /* offsetUs= */ 0);
renderer.start();
renderer.resetPosition(/* positionUs= */ 200);
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java
index 2a6bd2b2ce..9e248def39 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java
@@ -29,7 +29,6 @@ import androidx.media3.common.util.Assertions;
import androidx.media3.exoplayer.ExoPlaybackException;
import androidx.media3.exoplayer.drm.DrmSessionEventListener;
import androidx.media3.exoplayer.drm.DrmSessionManager;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.upstream.DefaultAllocator;
import androidx.media3.extractor.metadata.emsg.EventMessage;
import androidx.media3.extractor.metadata.emsg.EventMessageEncoder;
@@ -170,8 +169,7 @@ public class MetadataRendererTest {
new Format[] {EMSG_FORMAT},
fakeSampleStream,
/* startPositionUs= */ 0L,
- /* offsetUs= */ 0L,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0L);
// Call render() twice, the first call is to read the format and the second call will read the
// metadata.
@@ -210,8 +208,7 @@ public class MetadataRendererTest {
new Format[] {EMSG_FORMAT},
fakeSampleStream,
/* startPositionUs= */ 0L,
- /* offsetUs= */ 0L,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0L);
// Call render() twice, the first call is to read the format and the second call will read the
// metadata.
@@ -249,14 +246,12 @@ public class MetadataRendererTest {
sample(/* timeUs= */ 200_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg),
END_OF_STREAM_ITEM));
fakeSampleStream.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId = new MediaSource.MediaPeriodId(new Object());
// Start of the first reading period.
renderer.replaceStream(
new Format[] {EMSG_FORMAT},
fakeSampleStream,
/* startPositionUs= */ 0L,
- /* offsetUs= */ 0L,
- mediaPeriodId);
+ /* offsetUs= */ 0L);
// Read the format
renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -273,8 +268,7 @@ public class MetadataRendererTest {
new Format[] {EMSG_FORMAT},
fakeSampleStream,
/* startPositionUs= */ 0L,
- /* offsetUs= */ 100_000L,
- mediaPeriodId);
+ /* offsetUs= */ 100_000L);
renderer.render(/* positionUs= */ 199_999, /* elapsedRealtimeUs= */ 0);
assertThat(metadataOutput).hasSize(1);
@@ -310,14 +304,12 @@ public class MetadataRendererTest {
sample(/* timeUs= */ 200_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg),
END_OF_STREAM_ITEM));
fakeSampleStream.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId = new MediaSource.MediaPeriodId(new Object());
// Start of the first reading period.
renderer.replaceStream(
new Format[] {EMSG_FORMAT},
fakeSampleStream,
/* startPositionUs= */ 0L,
- /* offsetUs= */ 100_000L,
- mediaPeriodId);
+ /* offsetUs= */ 100_000L);
// Read the format
renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0);
@@ -334,8 +326,7 @@ public class MetadataRendererTest {
new Format[] {EMSG_FORMAT},
fakeSampleStream,
/* startPositionUs= */ 0L,
- /* offsetUs= */ 0L,
- mediaPeriodId);
+ /* offsetUs= */ 0L);
renderer.render(/* positionUs= */ 299_999, /* elapsedRealtimeUs= */ 0);
assertThat(metadataOutput).hasSize(1);
@@ -358,8 +349,7 @@ public class MetadataRendererTest {
new Format[] {EMSG_FORMAT},
fakeSampleStream,
/* startPositionUs= */ 0L,
- /* offsetUs= */ 0L,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0L);
renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0); // Read the format
renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0); // Read the data
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java
index a411f8d1fe..95a9a67b61 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java
@@ -41,7 +41,6 @@ import androidx.media3.exoplayer.RendererCapabilities;
import androidx.media3.exoplayer.RendererConfiguration;
import androidx.media3.exoplayer.drm.DrmSessionEventListener;
import androidx.media3.exoplayer.drm.DrmSessionManager;
-import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.upstream.DefaultAllocator;
import androidx.media3.test.utils.FakeSampleStream;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -205,8 +204,7 @@ public final class DecoderVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0L,
- /* offsetUs */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs */ 0);
for (int i = 0; i < 10; i++) {
renderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
// Ensure pending messages are delivered.
@@ -237,8 +235,7 @@ public final class DecoderVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs */ 0);
for (int i = 0; i < 10; i++) {
renderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
// Ensure pending messages are delivered.
@@ -268,8 +265,7 @@ public final class DecoderVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs */ 0);
renderer.start();
for (int i = 0; i < 10; i++) {
renderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
@@ -303,8 +299,6 @@ public final class DecoderVideoRendererTest {
/* initialFormat= */ H264_FORMAT,
ImmutableList.of(oneByteSample(/* timeUs= */ 0), END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
renderer.enable(
RendererConfiguration.DEFAULT,
new Format[] {H264_FORMAT},
@@ -313,8 +307,7 @@ public final class DecoderVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs */ 0,
- mediaPeriodId1);
+ /* offsetUs */ 0);
renderer.start();
boolean replacedStream = false;
@@ -325,8 +318,7 @@ public final class DecoderVideoRendererTest {
new Format[] {H264_FORMAT},
fakeSampleStream2,
/* startPositionUs= */ 100,
- /* offsetUs= */ 100,
- mediaPeriodId2);
+ /* offsetUs= */ 100);
replacedStream = true;
}
// Ensure pending messages are delivered.
@@ -360,8 +352,6 @@ public final class DecoderVideoRendererTest {
/* initialFormat= */ H264_FORMAT,
ImmutableList.of(oneByteSample(/* timeUs= */ 0), END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
renderer.enable(
RendererConfiguration.DEFAULT,
new Format[] {H264_FORMAT},
@@ -370,8 +360,7 @@ public final class DecoderVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs */ 0,
- mediaPeriodId1);
+ /* offsetUs */ 0);
boolean replacedStream = false;
for (int i = 0; i < 10; i++) {
@@ -381,8 +370,7 @@ public final class DecoderVideoRendererTest {
new Format[] {H264_FORMAT},
fakeSampleStream2,
/* startPositionUs= */ 100,
- /* offsetUs= */ 100,
- mediaPeriodId2);
+ /* offsetUs= */ 100);
replacedStream = true;
}
// Ensure pending messages are delivered.
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java
index 20a322b1d1..68f0087856 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java
@@ -221,8 +221,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- /* mediaPeriodId= */ new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
mediaCodecVideoRenderer.render(0, SystemClock.elapsedRealtime() * 1000);
@@ -278,8 +277,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 30_000,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
mediaCodecVideoRenderer.setCurrentStreamFinal();
@@ -306,14 +304,15 @@ public class MediaCodecVideoRendererTest {
ArgumentCaptor argumentDecoderCounters =
ArgumentCaptor.forClass(DecoderCounters.class);
// Set up MediaPeriod with samples.
- MediaSource.MediaPeriodId fakeMediaPeriodId = new MediaSource.MediaPeriodId(new Object());
FakeMediaPeriod mediaPeriod =
new FakeMediaPeriod(
new TrackGroupArray(TRACK_GROUP_H264),
new DefaultAllocator(/* trimOnReset= */ true, /* individualAllocationSize= */ 1024),
/* trackDataFactory= */ (format, mediaPeriodId) -> ImmutableList.of(),
new MediaSourceEventListener.EventDispatcher()
- .withParameters(/* windowIndex= */ 0, fakeMediaPeriodId),
+ .withParameters(
+ /* windowIndex= */ 0,
+ new MediaSource.MediaPeriodId(/* periodUid= */ new Object())),
DrmSessionManager.DRM_UNSUPPORTED,
new DrmSessionEventListener.EventDispatcher(),
/* deferOnPrepared= */ false) {
@@ -389,8 +388,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 100,
- /* offsetUs= */ 0,
- fakeMediaPeriodId);
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
// Call to render should have read all samples up before endUs.
@@ -411,14 +409,15 @@ public class MediaCodecVideoRendererTest {
ArgumentCaptor argumentDecoderCounters =
ArgumentCaptor.forClass(DecoderCounters.class);
// Set up MediaPeriod with samples.
- MediaSource.MediaPeriodId fakeMediaPeriodId = new MediaSource.MediaPeriodId(new Object());
FakeMediaPeriod mediaPeriod =
new FakeMediaPeriod(
new TrackGroupArray(TRACK_GROUP_H264),
new DefaultAllocator(/* trimOnReset= */ true, /* individualAllocationSize= */ 1024),
/* trackDataFactory= */ (format, mediaPeriodId) -> ImmutableList.of(),
new MediaSourceEventListener.EventDispatcher()
- .withParameters(/* windowIndex= */ 0, fakeMediaPeriodId),
+ .withParameters(
+ /* windowIndex= */ 0,
+ new MediaSource.MediaPeriodId(/* periodUid= */ new Object())),
DrmSessionManager.DRM_UNSUPPORTED,
new DrmSessionEventListener.EventDispatcher(),
/* deferOnPrepared= */ false) {
@@ -494,8 +493,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 100,
- /* offsetUs= */ 0,
- fakeMediaPeriodId);
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
mediaCodecVideoRenderer.setCurrentStreamFinal();
@@ -531,8 +529,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.setCurrentStreamFinal();
mediaCodecVideoRenderer.start();
@@ -578,8 +575,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
mediaCodecVideoRenderer.render(/* positionUs= */ 0, msToUs(SystemClock.elapsedRealtime()));
ShadowSystemClock.advanceBy(10, TimeUnit.MILLISECONDS);
@@ -634,8 +630,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
mediaCodecVideoRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
@@ -675,8 +670,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
for (int i = 0; i < 10; i++) {
mediaCodecVideoRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
}
@@ -706,8 +700,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
for (int i = 0; i < 10; i++) {
mediaCodecVideoRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
}
@@ -736,8 +729,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ false,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
for (int i = 0; i < 10; i++) {
mediaCodecVideoRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
@@ -770,8 +762,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 2000,
- /* offsetUs= */ 1000,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 1000);
for (int i = 0; i < 10; i++) {
mediaCodecVideoRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);
}
@@ -804,8 +795,6 @@ public class MediaCodecVideoRendererTest {
oneByteSample(/* timeUs= */ 1_000_000, C.BUFFER_FLAG_KEY_FRAME),
END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
mediaCodecVideoRenderer.enable(
RendererConfiguration.DEFAULT,
new Format[] {VIDEO_H264},
@@ -814,8 +803,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
boolean replacedStream = false;
@@ -828,8 +816,7 @@ public class MediaCodecVideoRendererTest {
new Format[] {VIDEO_H264},
fakeSampleStream2,
/* startPositionUs= */ 100,
- /* offsetUs= */ 50,
- mediaPeriodId2);
+ /* offsetUs= */ 50);
replacedStream = true;
}
}
@@ -870,8 +857,6 @@ public class MediaCodecVideoRendererTest {
ImmutableList.of(
oneByteSample(/* timeUs= */ 0, C.BUFFER_FLAG_KEY_FRAME), END_OF_STREAM_ITEM));
fakeSampleStream2.writeData(/* startPositionUs= */ 0);
- MediaSource.MediaPeriodId mediaPeriodId1 = new MediaSource.MediaPeriodId(new Object());
- MediaSource.MediaPeriodId mediaPeriodId2 = new MediaSource.MediaPeriodId(new Object());
mediaCodecVideoRenderer.enable(
RendererConfiguration.DEFAULT,
new Format[] {VIDEO_H264},
@@ -880,8 +865,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- mediaPeriodId1);
+ /* offsetUs= */ 0);
boolean replacedStream = false;
for (int i = 0; i < 10; i++) {
@@ -892,8 +876,7 @@ public class MediaCodecVideoRendererTest {
new Format[] {VIDEO_H264},
fakeSampleStream2,
/* startPositionUs= */ 100,
- /* offsetUs= */ 100,
- mediaPeriodId2);
+ /* offsetUs= */ 100);
replacedStream = true;
}
}
@@ -929,8 +912,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 1000,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
// Render at the original start position.
for (int i = 0; i < 10; i++) {
@@ -1285,8 +1267,7 @@ public class MediaCodecVideoRendererTest {
/* joining= */ false,
/* mayRenderStartOfStream= */ true,
/* startPositionUs= */ 0,
- /* offsetUs= */ 0,
- new MediaSource.MediaPeriodId(new Object()));
+ /* offsetUs= */ 0);
mediaCodecVideoRenderer.start();
mediaCodecVideoRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000);