diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleParser.java
index e9c852f4f6..4634c84a3f 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleParser.java
@@ -91,6 +91,8 @@ public interface SubtitleParser {
* Clears any data stored inside this parser from previous {@link #parse(byte[])} calls.
*
*
This must be called after a seek or other similar discontinuity in the source data.
+ *
+ *
The default implementation is a no-op.
*/
- void reset();
+ default void reset() {}
}
diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java
index 95d7e343b8..25b7de23af 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsParser.java
@@ -53,9 +53,6 @@ public final class PgsParser implements SubtitleParser {
cueBuilder = new CueBuilder();
}
- @Override
- public void reset() {}
-
@Override
public ImmutableList parse(byte[] data, int offset, int length) {
buffer.reset(data, /* limit= */ offset + length);
diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaParser.java
index b7b74b91e2..d227b45199 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaParser.java
@@ -117,9 +117,6 @@ public final class SsaParser implements SubtitleParser {
}
}
- @Override
- public void reset() {}
-
@Nullable
@Override
public ImmutableList parse(byte[] data, int offset, int length) {
diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripParser.java
index b6b2bf3339..a159276d9d 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripParser.java
@@ -151,9 +151,6 @@ public final class SubripParser implements SubtitleParser {
return cues.build();
}
- @Override
- public void reset() {}
-
/**
* Determine UTF encoding of the byte array from a byte order mark (BOM), defaulting to UTF-8 if
* no BOM is found.
diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlParser.java
index 0bec30b5b5..ab8c0ea43f 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlParser.java
@@ -191,9 +191,6 @@ public final class TtmlParser implements SubtitleParser {
}
}
- @Override
- public void reset() {}
-
private static FrameAndTickRate parseFrameAndTickRates(XmlPullParser xmlParser) {
int frameRate = DEFAULT_FRAME_RATE;
String frameRateString = xmlParser.getAttributeValue(TTP, "frameRate");
diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gParser.java
index 4dff6d9631..4f59fd521f 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gParser.java
@@ -122,9 +122,6 @@ public final class Tx3gParser implements SubtitleParser {
}
}
- @Override
- public void reset() {}
-
@Override
public ImmutableList parse(byte[] data, int offset, int length) {
parsableByteArray.reset(data, /* limit= */ offset + length);
diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttParser.java
index fbad0f5818..4238e77530 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttParser.java
@@ -76,9 +76,6 @@ public final class Mp4WebvttParser implements SubtitleParser {
new CuesWithTiming(cues, /* startTimeUs= */ C.TIME_UNSET, /* durationUs= */ C.TIME_UNSET));
}
- @Override
- public void reset() {}
-
private static Cue parseVttCueBox(ParsableByteArray sampleData, int remainingCueBoxBytes) {
@Nullable Cue.Builder cueBuilder = null;
@Nullable CharSequence cueText = null;
diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttParser.java
index c6060168af..70c216e13b 100644
--- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttParser.java
+++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttParser.java
@@ -88,9 +88,6 @@ public final class WebvttParser implements SubtitleParser {
return subtitle.toCuesWithTimingList();
}
- @Override
- public void reset() {}
-
/**
* Positions the input right before the next event, and returns the kind of event found. Does not
* consume any data from such event, if any.