diff --git a/library/src/main/java/com/google/android/exoplayer/chunk/MediaChunk.java b/library/src/main/java/com/google/android/exoplayer/chunk/MediaChunk.java index ad22645be6..fd7c3a59b6 100644 --- a/library/src/main/java/com/google/android/exoplayer/chunk/MediaChunk.java +++ b/library/src/main/java/com/google/android/exoplayer/chunk/MediaChunk.java @@ -73,9 +73,7 @@ public abstract class MediaChunk extends Chunk { /** * Seeks to the beginning of the chunk. */ - public final void seekToStart() { - seekTo(startTimeUs, false); - } + public abstract void seekToStart(); /** * Seeks to the specified position within the chunk. diff --git a/library/src/main/java/com/google/android/exoplayer/chunk/Mp4MediaChunk.java b/library/src/main/java/com/google/android/exoplayer/chunk/Mp4MediaChunk.java index 0b1e22b643..4bd0076a6d 100644 --- a/library/src/main/java/com/google/android/exoplayer/chunk/Mp4MediaChunk.java +++ b/library/src/main/java/com/google/android/exoplayer/chunk/Mp4MediaChunk.java @@ -54,6 +54,12 @@ public final class Mp4MediaChunk extends MediaChunk { this.sampleOffsetUs = sampleOffsetUs; } + @Override + public void seekToStart() { + extractor.seekTo(0, false); + resetReadPosition(); + } + @Override public boolean seekTo(long positionUs, boolean allowNoop) { long seekTimeUs = positionUs + sampleOffsetUs; diff --git a/library/src/main/java/com/google/android/exoplayer/chunk/SingleSampleMediaChunk.java b/library/src/main/java/com/google/android/exoplayer/chunk/SingleSampleMediaChunk.java index 893e28b507..ef7e1436a0 100644 --- a/library/src/main/java/com/google/android/exoplayer/chunk/SingleSampleMediaChunk.java +++ b/library/src/main/java/com/google/android/exoplayer/chunk/SingleSampleMediaChunk.java @@ -109,6 +109,11 @@ public class SingleSampleMediaChunk extends MediaChunk { return true; } + @Override + public void seekToStart() { + resetReadPosition(); + } + @Override public boolean seekTo(long positionUs, boolean allowNoop) { resetReadPosition(); diff --git a/library/src/main/java/com/google/android/exoplayer/chunk/WebmMediaChunk.java b/library/src/main/java/com/google/android/exoplayer/chunk/WebmMediaChunk.java index 1c86c23865..23dfa2bf0a 100644 --- a/library/src/main/java/com/google/android/exoplayer/chunk/WebmMediaChunk.java +++ b/library/src/main/java/com/google/android/exoplayer/chunk/WebmMediaChunk.java @@ -50,6 +50,11 @@ public final class WebmMediaChunk extends MediaChunk { this.extractor = extractor; } + @Override + public void seekToStart() { + seekTo(0, false); + } + @Override public boolean seekTo(long positionUs, boolean allowNoop) { boolean isDiscontinuous = extractor.seekTo(positionUs, allowNoop);