From ff64d2b382e68327db69c4e6df4e82be0c1884bc Mon Sep 17 00:00:00 2001 From: Julian Cable Date: Fri, 13 Jan 2017 08:04:23 +0000 Subject: [PATCH] move Matroska specific code back to the Matroska extractor --- .../extractor/mkv/MatroskaExtractor.java | 14 ++++++++++++-- .../android/exoplayer2/text/ssa/SSADecoder.java | 16 ---------------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java b/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java index a8ff63c776..5f3f7c30fa 100644 --- a/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java +++ b/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java @@ -56,6 +56,7 @@ import java.util.List; import java.util.Locale; import java.util.UUID; +import static android.R.attr.data; import static android.R.attr.format; import static android.R.attr.longClickable; import static android.R.attr.mimeType; @@ -1110,8 +1111,17 @@ public final class MatroskaExtractor implements Extractor { } private void writeSSASample(Track track) { - String s = SSADecoder.buildDialogue(track.ssaSample, blockDurationUs); - ParsableByteArray out = new ParsableByteArray(s.getBytes()); + long startUs = 0; // blockTimeUs + StringBuffer s = new StringBuffer(); + s.append("Dialogue: "); + s.append(SSADecoder.formatTimeCode(startUs)); + s.append(","); + long endUs = startUs + blockDurationUs; + s.append(SSADecoder.formatTimeCode(endUs)); + s.append(","); + s.append(track.ssaSample); + s.append("\n"); + ParsableByteArray out = new ParsableByteArray(s.toString().getBytes()); track.output.sampleData(out, out.limit()); sampleBytesWritten += out.limit(); } diff --git a/library/src/main/java/com/google/android/exoplayer2/text/ssa/SSADecoder.java b/library/src/main/java/com/google/android/exoplayer2/text/ssa/SSADecoder.java index 2453e00238..4c1ce6de6f 100644 --- a/library/src/main/java/com/google/android/exoplayer2/text/ssa/SSADecoder.java +++ b/library/src/main/java/com/google/android/exoplayer2/text/ssa/SSADecoder.java @@ -192,22 +192,6 @@ public class SSADecoder extends SimpleSubtitleDecoder { return result; } - public static String buildDialogue(String data, long durationUs) { - StringBuffer s = new StringBuffer(); - s.append("Dialogue: "); - s.append(SSADecoder.formatTimeCode(0)); // blockTimeUs - s.append(","); - long endUs = durationUs; // + blockTimeUs - if (endUs == C.TIME_UNSET) { - endUs = 2*_1e6; // 2 second default duration - } - s.append(SSADecoder.formatTimeCode(endUs)); - s.append(","); - s.append(data); - s.append("\n"); - return s.toString(); - } - public static String formatTimeCode(long tc_us) { long seconds = tc_us / _1e6; long us = tc_us - _1e6*seconds;