Simplify Timeline classes a bit

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129993536
This commit is contained in:
olly 2016-08-11 09:15:11 -07:00 committed by Oliver Woodman
parent 56bfa78f0a
commit d8ffafea65
2 changed files with 16 additions and 7 deletions

View File

@ -98,14 +98,17 @@ public final class SinglePeriodTimeline implements Timeline {
@Override @Override
public long getPeriodDuration(int index) { public long getPeriodDuration(int index) {
if (index != 0) { if (index != 0) {
throw new IndexOutOfBoundsException("Index " + index + " out of bounds"); throw new IndexOutOfBoundsException();
} }
return durationMs; return durationMs;
} }
@Override @Override
public Object getPeriodId(int index) { public Object getPeriodId(int index) {
return index == 0 ? id : null; if (index != 0) {
throw new IndexOutOfBoundsException();
}
return id;
} }
@Override @Override

View File

@ -485,12 +485,12 @@ public final class DashMediaSource implements MediaSource {
private final DashManifest manifest; private final DashManifest manifest;
private final DashMediaPeriod[] periods; private final DashMediaPeriod[] periods;
private final SeekWindow[] seekWindows; private final SeekWindow seekWindow;
public DashTimeline(DashManifest manifest, DashMediaPeriod[] periods, SeekWindow seekWindow) { public DashTimeline(DashManifest manifest, DashMediaPeriod[] periods, SeekWindow seekWindow) {
this.manifest = manifest; this.manifest = manifest;
this.periods = periods; this.periods = periods;
seekWindows = new SeekWindow[] {seekWindow}; this.seekWindow = seekWindow;
} }
@Override @Override
@ -510,12 +510,18 @@ public final class DashMediaSource implements MediaSource {
@Override @Override
public long getPeriodDuration(int index) { public long getPeriodDuration(int index) {
if (index < 0 || index >= manifest.getPeriodCount()) {
throw new IndexOutOfBoundsException();
}
return manifest.getPeriodDurationMs(index); return manifest.getPeriodDurationMs(index);
} }
@Override @Override
public Object getPeriodId(int index) { public Object getPeriodId(int index) {
return index >= periods.length ? null : periods[index]; if (index < 0 || index >= manifest.getPeriodCount()) {
throw new IndexOutOfBoundsException();
}
return periods[index];
} }
@Override @Override
@ -530,12 +536,12 @@ public final class DashMediaSource implements MediaSource {
@Override @Override
public int getSeekWindowCount() { public int getSeekWindowCount() {
return seekWindows.length; return 1;
} }
@Override @Override
public SeekWindow getSeekWindow(int index) { public SeekWindow getSeekWindow(int index) {
return seekWindows[index]; return seekWindow;
} }
} }