tidy and make compatible with test.

This commit is contained in:
Julian Cable 2017-01-02 14:48:03 +00:00
parent e99ad27847
commit b692d9fac5
4 changed files with 5 additions and 39 deletions

View File

@ -18,7 +18,7 @@ public class SSATests extends InstrumentationTestCase {
public void testDecodeTypical() throws IOException { public void testDecodeTypical() throws IOException {
SSADecoder decoder = new SSADecoder(); SSADecoder decoder = new SSADecoder();
byte[] bytes = TestUtil.getByteArray(getInstrumentation(), TYPICAL_FILE); byte[] bytes = TestUtil.getByteArray(getInstrumentation(), TYPICAL_FILE);
SSASubtitle subtitle = decoder.decode(bytes, bytes.length); SSASubtitle subtitle = decoder.decodeFile(bytes, bytes.length);
int n = subtitle.getEventTimeCount(); int n = subtitle.getEventTimeCount();
assertEquals(462, n); assertEquals(462, n);
assertTypicalCue1(subtitle, 0); assertTypicalCue1(subtitle, 0);

View File

@ -1,38 +1,16 @@
package com.google.android.exoplayer2.text.ssa; package com.google.android.exoplayer2.text.ssa;
import android.content.Intent;
import android.text.Layout;
import android.util.ArrayMap;
import android.util.Log; import android.util.Log;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.text.Cue;
import com.google.android.exoplayer2.text.SimpleSubtitleDecoder; import com.google.android.exoplayer2.text.SimpleSubtitleDecoder;
import com.google.android.exoplayer2.util.LongArray;
import com.google.android.exoplayer2.util.ParsableBitArray;
import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.ParsableByteArray;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.Locale;
import java.util.Map; import java.util.Map;
import static android.R.attr.breadCrumbShortTitle;
import static android.R.attr.data;
import static android.R.attr.format;
import static android.R.attr.key;
import static android.R.attr.lines;
import static android.R.attr.subtitle;
import static android.R.attr.text;
import static android.R.attr.textAlignment;
import static android.R.attr.track;
import static android.icu.lang.UCharacter.GraphemeClusterBreak.L;
import static android.webkit.ConsoleMessage.MessageLevel.LOG;
import static com.google.android.exoplayer2.text.Cue.DIMEN_UNSET;
import static com.google.android.exoplayer2.text.Cue.TYPE_UNSET;
/** /**
* Created by cablej01 on 26/12/2016. * Created by cablej01 on 26/12/2016.
*/ */
@ -115,7 +93,7 @@ public class SSADecoder extends SimpleSubtitleDecoder {
return subtitle; return subtitle;
} }
public void decodeFile(byte[] bytes, int length) { public SSASubtitle decodeFile(byte[] bytes, int length) {
SSASubtitle subtitle = new SSASubtitle(); SSASubtitle subtitle = new SSASubtitle();
ParsableByteArray data = new ParsableByteArray(bytes, length); ParsableByteArray data = new ParsableByteArray(bytes, length);
decodeHeader(data); decodeHeader(data);
@ -138,6 +116,7 @@ public class SSADecoder extends SimpleSubtitleDecoder {
} }
} }
} }
return subtitle;
} }
public void decodeHeader(byte[] bytes, int length) { public void decodeHeader(byte[] bytes, int length) {
@ -156,13 +135,10 @@ public class SSADecoder extends SimpleSubtitleDecoder {
if (currentLine.equals("[Script Info]")) { if (currentLine.equals("[Script Info]")) {
// TODO // TODO
continue;
} else if (currentLine.equals("[V4+ Styles]")) { } else if (currentLine.equals("[V4+ Styles]")) {
parseStyles(styles, data); parseStyles(styles, data);
continue;
} else if (currentLine.equals("[V4 Styles]")) { } else if (currentLine.equals("[V4 Styles]")) {
parseStyles(styles, data); parseStyles(styles, data);
continue;
} else if (currentLine.equals("[Events]")) { } else if (currentLine.equals("[Events]")) {
break; break;
} }
@ -245,7 +221,7 @@ public class SSADecoder extends SimpleSubtitleDecoder {
long hours = minutes / 60; long hours = minutes / 60;
minutes -= 60*hours; minutes -= 60*hours;
double sec = seconds + ((float)us)/1000000.0; double sec = seconds + ((float)us)/1000000.0;
return String.format("%01d:%02d:%06.3f", hours, minutes, sec); return String.format(Locale.US, "%01d:%02d:%06.3f", hours, minutes, sec);
} }
public static long parseTimecode(String time) { public static long parseTimecode(String time) {

View File

@ -1,22 +1,16 @@
package com.google.android.exoplayer2.text.ssa; package com.google.android.exoplayer2.text.ssa;
import android.text.Layout;
import android.util.Log; import android.util.Log;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.text.Cue; import com.google.android.exoplayer2.text.Cue;
import com.google.android.exoplayer2.text.Subtitle; import com.google.android.exoplayer2.text.Subtitle;
import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.LongArray;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static android.R.attr.start;
/** /**
* Created by cablej01 on 26/12/2016. * Created by cablej01 on 26/12/2016.
*/ */

View File

@ -1,11 +1,7 @@
package com.google.android.exoplayer2.text.ssa; package com.google.android.exoplayer2.text.ssa;
import android.graphics.Outline;
import java.util.Map; import java.util.Map;
import static android.os.Build.VERSION_CODES.M;
/** /**
* Created by cablej01 on 27/12/2016. * Created by cablej01 on 27/12/2016.
*/ */