From b95b0aad5c7c6418b788fc70a91c2f534d52972b Mon Sep 17 00:00:00 2001 From: ood_tsen Date: Wed, 3 Jun 2015 20:28:30 +0800 Subject: [PATCH] clean the list while forward seek. --- .../android/exoplayer/text/tx3g/TextParser.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer/text/tx3g/TextParser.java b/library/src/main/java/com/google/android/exoplayer/text/tx3g/TextParser.java index 927818c32a..7f4098d8e5 100644 --- a/library/src/main/java/com/google/android/exoplayer/text/tx3g/TextParser.java +++ b/library/src/main/java/com/google/android/exoplayer/text/tx3g/TextParser.java @@ -54,10 +54,18 @@ public class TextParser implements SubtitleParser { SubtitleData cue = new SubtitleData(startTimeUs, text); - while (subtitleList.size() > MAX_SUBTITLE_COUNT) { - subtitleList.remove(0); - } + //try to resize the list. + if (subtitleList.size() > 0) { + long lastTimeUs = subtitleList.get(subtitleList.size() - 1).startTimePosUs; + if (startTimeUs < lastTimeUs) { + //when forward seek + subtitleList.clear(); + } + while (subtitleList.size() > MAX_SUBTITLE_COUNT) { + subtitleList.remove(0); + } + } subtitleList.add(cue); Collections.sort(subtitleList, new Comparator() {