From d3894e66913ebe1b5363f5bad3a7954be71aa581 Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 16 Aug 2023 17:02:05 +0100 Subject: [PATCH] Add a default no-op implementation for `SubtitleParser.reset` Most implementations were already no-ops. PiperOrigin-RevId: 557503628 --- .../java/androidx/media3/extractor/text/SubtitleParser.java | 4 +++- .../java/androidx/media3/extractor/text/pgs/PgsParser.java | 3 --- .../java/androidx/media3/extractor/text/ssa/SsaParser.java | 3 --- .../androidx/media3/extractor/text/subrip/SubripParser.java | 3 --- .../java/androidx/media3/extractor/text/ttml/TtmlParser.java | 3 --- .../java/androidx/media3/extractor/text/tx3g/Tx3gParser.java | 3 --- .../media3/extractor/text/webvtt/Mp4WebvttParser.java | 3 --- .../androidx/media3/extractor/text/webvtt/WebvttParser.java | 3 --- 8 files changed, 3 insertions(+), 22 deletions(-) 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.