mirror of
https://github.com/samsonjs/media.git
synced 2026-04-07 11:35:46 +00:00
Merge TimelineAsserts.StubMediaSource into FakeMediaSource.
The StubMediaSource was a subset of the FakeMediaSource. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160638245
This commit is contained in:
parent
b3a7f8774f
commit
177a33bbee
6 changed files with 27 additions and 70 deletions
|
|
@ -21,9 +21,9 @@ import com.google.android.exoplayer2.ExoPlayer;
|
|||
import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.Timeline.Period;
|
||||
import com.google.android.exoplayer2.Timeline.Window;
|
||||
import com.google.android.exoplayer2.testutil.FakeMediaSource;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.FakeTimeline;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.StubMediaSource;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link ClippingMediaSource}.
|
||||
|
|
@ -120,7 +120,7 @@ public final class ClippingMediaSourceTest extends InstrumentationTestCase {
|
|||
* Wraps the specified timeline in a {@link ClippingMediaSource} and returns the clipped timeline.
|
||||
*/
|
||||
private static Timeline getClippedTimeline(Timeline timeline, long startMs, long endMs) {
|
||||
MediaSource mediaSource = new StubMediaSource(timeline);
|
||||
MediaSource mediaSource = new FakeMediaSource(timeline, null);
|
||||
return TimelineAsserts.extractTimelineFromMediaSource(
|
||||
new ClippingMediaSource(mediaSource, startMs, endMs));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ package com.google.android.exoplayer2.source;
|
|||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.testutil.FakeMediaSource;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.FakeTimeline;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.StubMediaSource;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
|
|
@ -102,7 +102,7 @@ public final class ConcatenatingMediaSourceTest extends TestCase {
|
|||
Timeline... timelines) {
|
||||
MediaSource[] mediaSources = new MediaSource[timelines.length];
|
||||
for (int i = 0; i < timelines.length; i++) {
|
||||
mediaSources[i] = new StubMediaSource(timelines[i]);
|
||||
mediaSources[i] = new FakeMediaSource(timelines[i], null);
|
||||
}
|
||||
return TimelineAsserts.extractTimelineFromMediaSource(
|
||||
new ConcatenatingMediaSource(isRepeatOneAtomic, mediaSources));
|
||||
|
|
|
|||
|
|
@ -25,9 +25,9 @@ import com.google.android.exoplayer2.ExoPlayer;
|
|||
import com.google.android.exoplayer2.PlaybackParameters;
|
||||
import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.source.MediaSource.Listener;
|
||||
import com.google.android.exoplayer2.testutil.FakeMediaSource;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.FakeTimeline;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.StubMediaSource;
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
|
||||
import com.google.android.exoplayer2.upstream.Allocator;
|
||||
import java.io.IOException;
|
||||
|
|
@ -46,7 +46,7 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
|
|||
|
||||
public void testPlaylistChangesAfterPreparation() throws InterruptedException {
|
||||
timeline = null;
|
||||
TimelineAsserts.StubMediaSource[] childSources = createMediaSources(7);
|
||||
FakeMediaSource[] childSources = createMediaSources(7);
|
||||
DynamicConcatenatingMediaSource mediaSource = new DynamicConcatenatingMediaSource();
|
||||
prepareAndListenToTimelineUpdates(mediaSource);
|
||||
waitForTimelineUpdate();
|
||||
|
|
@ -132,7 +132,7 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
|
|||
|
||||
public void testPlaylistChangesBeforePreparation() throws InterruptedException {
|
||||
timeline = null;
|
||||
TimelineAsserts.StubMediaSource[] childSources = createMediaSources(4);
|
||||
FakeMediaSource[] childSources = createMediaSources(4);
|
||||
DynamicConcatenatingMediaSource mediaSource = new DynamicConcatenatingMediaSource();
|
||||
mediaSource.addMediaSource(childSources[0]);
|
||||
mediaSource.addMediaSource(childSources[1]);
|
||||
|
|
@ -155,7 +155,7 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
|
|||
|
||||
public void testPlaylistWithLazyMediaSource() throws InterruptedException {
|
||||
timeline = null;
|
||||
TimelineAsserts.StubMediaSource[] childSources = createMediaSources(2);
|
||||
FakeMediaSource[] childSources = createMediaSources(2);
|
||||
LazyMediaSource[] lazySources = new LazyMediaSource[4];
|
||||
for (int i = 0; i < 4; i++) {
|
||||
lazySources[i] = new LazyMediaSource();
|
||||
|
|
@ -207,7 +207,7 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
|
|||
|
||||
public void testIllegalArguments() {
|
||||
DynamicConcatenatingMediaSource mediaSource = new DynamicConcatenatingMediaSource();
|
||||
MediaSource validSource = new StubMediaSource(new FakeTimeline(1, 1));
|
||||
MediaSource validSource = new FakeMediaSource(new FakeTimeline(1, 1), null);
|
||||
|
||||
// Null sources.
|
||||
try {
|
||||
|
|
@ -234,7 +234,10 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
|
|||
// Expected.
|
||||
}
|
||||
|
||||
mediaSources = new MediaSource[] { new StubMediaSource(new FakeTimeline(1, 1)), validSource};
|
||||
mediaSources = new MediaSource[] {
|
||||
new FakeMediaSource(new FakeTimeline(1, 1), null),
|
||||
validSource
|
||||
};
|
||||
try {
|
||||
mediaSource.addMediaSources(Arrays.asList(mediaSources));
|
||||
fail("Duplicate mediaSource not allowed.");
|
||||
|
|
@ -267,10 +270,10 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
|
|||
timelineUpdated = false;
|
||||
}
|
||||
|
||||
private TimelineAsserts.StubMediaSource[] createMediaSources(int count) {
|
||||
TimelineAsserts.StubMediaSource[] sources = new TimelineAsserts.StubMediaSource[count];
|
||||
private FakeMediaSource[] createMediaSources(int count) {
|
||||
FakeMediaSource[] sources = new FakeMediaSource[count];
|
||||
for (int i = 0; i < count; i++) {
|
||||
sources[i] = new TimelineAsserts.StubMediaSource(new FakeTimeline(i + 1, (i + 1) * 111));
|
||||
sources[i] = new FakeMediaSource(new FakeTimeline(i + 1, (i + 1) * 111), null);
|
||||
}
|
||||
return sources;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ package com.google.android.exoplayer2.source;
|
|||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.testutil.FakeMediaSource;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.FakeTimeline;
|
||||
import com.google.android.exoplayer2.testutil.TimelineAsserts.StubMediaSource;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
|
|
@ -33,9 +33,9 @@ public class LoopingMediaSourceTest extends TestCase {
|
|||
public LoopingMediaSourceTest() {
|
||||
multiWindowTimeline = TimelineAsserts.extractTimelineFromMediaSource(
|
||||
new ConcatenatingMediaSource(
|
||||
new StubMediaSource(new FakeTimeline(1, 111)),
|
||||
new StubMediaSource(new FakeTimeline(1, 222)),
|
||||
new StubMediaSource(new FakeTimeline(1, 333))));
|
||||
new FakeMediaSource(new FakeTimeline(1, 111), null),
|
||||
new FakeMediaSource(new FakeTimeline(1, 222), null),
|
||||
new FakeMediaSource(new FakeTimeline(1, 333), null)));
|
||||
}
|
||||
|
||||
public void testSingleLoop() {
|
||||
|
|
@ -87,7 +87,7 @@ public class LoopingMediaSourceTest extends TestCase {
|
|||
* the looping timeline.
|
||||
*/
|
||||
private static Timeline getLoopingTimeline(Timeline timeline, int loopCount) {
|
||||
MediaSource mediaSource = new StubMediaSource(timeline);
|
||||
MediaSource mediaSource = new FakeMediaSource(timeline, null);
|
||||
return TimelineAsserts.extractTimelineFromMediaSource(
|
||||
new LoopingMediaSource(mediaSource, loopCount));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ import java.util.ArrayList;
|
|||
import junit.framework.Assert;
|
||||
|
||||
/**
|
||||
* Fake {@link MediaSource} that provides a given timeline (which must have one period). Creating
|
||||
* the period will return a {@link FakeMediaPeriod}.
|
||||
* Fake {@link MediaSource} that provides a given timeline. Creating the period will return a
|
||||
* {@link FakeMediaPeriod} with a {@link TrackGroupArray} using the given {@link Format}s.
|
||||
*/
|
||||
public class FakeMediaSource implements MediaSource {
|
||||
|
||||
|
|
@ -53,6 +53,10 @@ public class FakeMediaSource implements MediaSource {
|
|||
activeMediaPeriods = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void assertReleased() {
|
||||
Assert.assertTrue(releasedSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void prepareSource(ExoPlayer player, boolean isTopLevelSource, Listener listener) {
|
||||
Assert.assertFalse(preparedSource);
|
||||
|
|
|
|||
|
|
@ -16,19 +16,14 @@
|
|||
package com.google.android.exoplayer2.testutil;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.Timeline.Period;
|
||||
import com.google.android.exoplayer2.Timeline.Window;
|
||||
import com.google.android.exoplayer2.source.MediaPeriod;
|
||||
import com.google.android.exoplayer2.source.MediaSource;
|
||||
import com.google.android.exoplayer2.source.MediaSource.Listener;
|
||||
import com.google.android.exoplayer2.upstream.Allocator;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Unit test for {@link Timeline}.
|
||||
|
|
@ -79,51 +74,6 @@ public final class TimelineAsserts {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Stub media source which returns a provided timeline as source info and keeps track if it is
|
||||
* prepared and released.
|
||||
*/
|
||||
public static class StubMediaSource implements MediaSource {
|
||||
private final Timeline timeline;
|
||||
|
||||
private boolean isPrepared;
|
||||
private volatile boolean isReleased;
|
||||
|
||||
public StubMediaSource(Timeline timeline) {
|
||||
this.timeline = timeline;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void prepareSource(ExoPlayer player, boolean isTopLevelSource, Listener listener) {
|
||||
assertFalse(isPrepared);
|
||||
listener.onSourceInfoRefreshed(timeline, null);
|
||||
isPrepared = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void maybeThrowSourceInfoRefreshError() throws IOException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaPeriod createPeriod(MediaPeriodId id, Allocator allocator) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releasePeriod(MediaPeriod mediaPeriod) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releaseSource() {
|
||||
assertTrue(isPrepared);
|
||||
isReleased = true;
|
||||
}
|
||||
|
||||
public void assertReleased() {
|
||||
assertTrue(isReleased);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts the timeline from a media source.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue