From 02b9d8d8b76fc325b21ea190d48adf29a84a777e Mon Sep 17 00:00:00 2001 From: jbibik Date: Tue, 11 Jul 2023 19:29:09 +0100 Subject: [PATCH] `Mp4WebvttParser` implementation - moved from `Mp4WebvttDecoder` `Mp4WebvttDecoder` which used to be `SimpleSubtitleDecoder` will now be called `Mp4WebvttParser` and implement `SubtitleParser` interface. For backwards compatibility, we will have the same functionality provided by `DelegatingSubtitleDecoder` backed-up by a new `Mp4WebvttParser` instance. PiperOrigin-RevId: 547248157 --- .../text/SubtitleDecoderFactory.java | 7 +- ...btitleDecoderWithMp4WebvttParserTest.java} | 46 ++-- ...ebvttDecoder.java => Mp4WebvttParser.java} | 61 +++-- .../text/webvtt/Mp4WebvttSubtitle.java | 54 ---- .../text/webvtt/WebvttCueParser.java | 5 +- .../text/webvtt/Mp4WebvttParserTest.java | 235 ++++++++++++++++++ 6 files changed, 306 insertions(+), 102 deletions(-) rename libraries/{extractor/src/test/java/androidx/media3/extractor/text/webvtt/Mp4WebvttDecoderTest.java => exoplayer/src/test/java/androidx/media3/exoplayer/text/DelegatingSubtitleDecoderWithMp4WebvttParserTest.java} (81%) rename libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/{Mp4WebvttDecoder.java => Mp4WebvttParser.java} (64%) delete mode 100644 libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttSubtitle.java create mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/text/webvtt/Mp4WebvttParserTest.java diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/SubtitleDecoderFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/SubtitleDecoderFactory.java index 2cf7703e6c..c59cded4c3 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/SubtitleDecoderFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/SubtitleDecoderFactory.java @@ -28,7 +28,7 @@ import androidx.media3.extractor.text.ssa.SsaParser; import androidx.media3.extractor.text.subrip.SubripParser; import androidx.media3.extractor.text.ttml.TtmlDecoder; import androidx.media3.extractor.text.tx3g.Tx3gDecoder; -import androidx.media3.extractor.text.webvtt.Mp4WebvttDecoder; +import androidx.media3.extractor.text.webvtt.Mp4WebvttParser; import androidx.media3.extractor.text.webvtt.WebvttDecoder; /** A factory for {@link SubtitleDecoder} instances. */ @@ -60,7 +60,7 @@ public interface SubtitleDecoderFactory { * *