class android.media.SRTTrack extends android.media.WebVttTrack
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.SRTTrack
super_class: android.media.WebVttTrack
{
private static final int MEDIA_TIMED_TEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 99
private static final int KEY_STRUCT_TEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int KEY_START_TIME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final int KEY_LOCAL_SETTING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 102
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SRTTrack"
private final android.os.Handler mEventHandler;
descriptor: Landroid/os/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(android.media.WebVttRenderingWidget, android.media.MediaFormat);
descriptor: (Landroid/media/WebVttRenderingWidget;Landroid/media/MediaFormat;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial android.media.WebVttTrack.<init>:(Landroid/media/WebVttRenderingWidget;Landroid/media/MediaFormat;)V
1: aload 0
aconst_null
putfield android.media.SRTTrack.mEventHandler:Landroid/os/Handler;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/SRTTrack;
0 3 1 renderingWidget Landroid/media/WebVttRenderingWidget;
0 3 2 format Landroid/media/MediaFormat;
MethodParameters:
Name Flags
renderingWidget
format
void <init>(android.os.Handler, android.media.MediaFormat);
descriptor: (Landroid/os/Handler;Landroid/media/MediaFormat;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 2
invokespecial android.media.WebVttTrack.<init>:(Landroid/media/WebVttRenderingWidget;Landroid/media/MediaFormat;)V
1: aload 0
aload 1
putfield android.media.SRTTrack.mEventHandler:Landroid/os/Handler;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/SRTTrack;
0 3 1 eventHandler Landroid/os/Handler;
0 3 2 format Landroid/media/MediaFormat;
MethodParameters:
Name Flags
eventHandler
format
protected void onData(android.media.SubtitleData);
descriptor: (Landroid/media/SubtitleData;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=11, args_size=2
start local 0 start local 1 0: new android.media.TextTrackCue
dup
invokespecial android.media.TextTrackCue.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokevirtual android.media.SubtitleData.getStartTimeUs:()J
ldc 1000
ldiv
putfield android.media.TextTrackCue.mStartTimeMs:J
2: aload 2
aload 1
invokevirtual android.media.SubtitleData.getStartTimeUs:()J
aload 1
invokevirtual android.media.SubtitleData.getDurationUs:()J
ladd
ldc 1000
ldiv
putfield android.media.TextTrackCue.mEndTimeMs:J
3: new java.lang.String
dup
aload 1
invokevirtual android.media.SubtitleData.getData:()[B
ldc "UTF-8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 3
start local 3 4: aload 3
ldc "\\r?\\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 5: aload 2
aload 4
arraylength
anewarray android.media.TextTrackCueSpan[]
putfield android.media.TextTrackCue.mLines:[[Landroid/media/TextTrackCueSpan;
6: iconst_0
istore 5
start local 5 7: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 14
StackMap locals: android.media.SRTTrack android.media.SubtitleData android.media.TextTrackCue java.lang.String java.lang.String[] int top int int java.lang.String[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: iconst_1
anewarray android.media.TextTrackCueSpan
dup
iconst_0
10: new android.media.TextTrackCueSpan
dup
aload 6
ldc -1
invokespecial android.media.TextTrackCueSpan.<init>:(Ljava/lang/String;J)V
aastore
11: astore 10
start local 10 12: aload 2
getfield android.media.TextTrackCue.mLines:[[Landroid/media/TextTrackCueSpan;
iload 5
iinc 5 1
aload 10
aastore
end local 10 end local 6 13: iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 8
if_icmplt 8
15: aload 0
aload 2
invokevirtual android.media.SRTTrack.addCue:(Landroid/media/SubtitleTrack$Cue;)Z
pop
end local 5 end local 4 end local 3 end local 2 16: goto 19
StackMap locals: android.media.SRTTrack android.media.SubtitleData
StackMap stack: java.io.UnsupportedEncodingException
17: astore 2
start local 2 18: ldc "SRTTrack"
new java.lang.StringBuilder
dup
ldc "subtitle data is not UTF-8 encoded: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 2 19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/media/SRTTrack;
0 20 1 data Landroid/media/SubtitleData;
1 16 2 cue Landroid/media/TextTrackCue;
4 16 3 paragraph Ljava/lang/String;
5 16 4 lines [Ljava/lang/String;
7 16 5 i I
9 13 6 line Ljava/lang/String;
12 13 10 span [Landroid/media/TextTrackCueSpan;
18 19 2 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
0 16 17 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
data
public void onData(byte[], boolean, long);
descriptor: ([BZJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.InputStreamReader
dup
new java.io.ByteArrayInputStream
dup
aload 1
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
ldc "UTF-8"
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
astore 5
start local 5 1: new java.io.BufferedReader
dup
aload 5
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 6
start local 6 2: goto 27
start local 7 3: StackMap locals: java.io.Reader java.io.BufferedReader java.lang.String
StackMap stack:
aload 6
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 7
4: aload 7
ifnonnull 6
5: goto 35
6: StackMap locals:
StackMap stack:
new android.media.TextTrackCue
dup
invokespecial android.media.TextTrackCue.<init>:()V
astore 8
start local 8 7: aload 7
ldc "-->"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 9
start local 9 8: aload 8
aload 9
iconst_0
aaload
invokestatic android.media.SRTTrack.parseMs:(Ljava/lang/String;)J
putfield android.media.TextTrackCue.mStartTimeMs:J
9: aload 8
aload 9
iconst_1
aaload
invokestatic android.media.SRTTrack.parseMs:(Ljava/lang/String;)J
putfield android.media.TextTrackCue.mEndTimeMs:J
10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 11: goto 13
start local 10 12: StackMap locals: android.media.SRTTrack byte[] int long java.io.Reader java.io.BufferedReader java.lang.String android.media.TextTrackCue java.lang.String[] java.lang.String java.util.List
StackMap stack:
aload 11
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 13: StackMap locals: android.media.SRTTrack byte[] int long java.io.Reader java.io.BufferedReader java.lang.String android.media.TextTrackCue java.lang.String[] top java.util.List
StackMap stack:
aload 6
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 10
start local 10 14: ifnull 15
aload 10
invokevirtual java.lang.String.trim:()Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
15: StackMap locals: android.media.SRTTrack byte[] int long java.io.Reader java.io.BufferedReader java.lang.String android.media.TextTrackCue java.lang.String[] java.lang.String java.util.List
StackMap stack:
iconst_0
istore 12
start local 12 16: aload 8
aload 11
invokeinterface java.util.List.size:()I
anewarray android.media.TextTrackCueSpan[]
putfield android.media.TextTrackCue.mLines:[[Landroid/media/TextTrackCueSpan;
17: aload 8
aload 11
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield android.media.TextTrackCue.mStrings:[Ljava/lang/String;
18: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 25
StackMap locals: android.media.SRTTrack byte[] int long java.io.Reader java.io.BufferedReader java.lang.String android.media.TextTrackCue java.lang.String[] java.lang.String java.util.List int top java.util.Iterator
StackMap stack:
19: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 20: iconst_1
anewarray android.media.TextTrackCueSpan
dup
iconst_0
21: new android.media.TextTrackCueSpan
dup
aload 13
ldc -1
invokespecial android.media.TextTrackCueSpan.<init>:(Ljava/lang/String;J)V
aastore
22: astore 15
start local 15 23: aload 8
getfield android.media.TextTrackCue.mStrings:[Ljava/lang/String;
iload 12
aload 13
aastore
24: aload 8
getfield android.media.TextTrackCue.mLines:[[Landroid/media/TextTrackCueSpan;
iload 12
iinc 12 1
aload 15
aastore
end local 15 end local 13 25: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
26: aload 0
aload 8
invokevirtual android.media.SRTTrack.addCue:(Landroid/media/SubtitleTrack$Cue;)Z
pop
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 27: StackMap locals: android.media.SRTTrack byte[] int long java.io.Reader java.io.BufferedReader
StackMap stack:
aload 6
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 7
start local 7 28: ifnonnull 3
end local 7 end local 6 end local 5 29: goto 35
StackMap locals: android.media.SRTTrack byte[] int long
StackMap stack: java.io.UnsupportedEncodingException
30: astore 5
start local 5 31: ldc "SRTTrack"
new java.lang.StringBuilder
dup
ldc "subtitle data is not UTF-8 encoded: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 5 32: goto 35
33: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 34: ldc "SRTTrack"
aload 5
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 5
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 5 35: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Landroid/media/SRTTrack;
0 36 1 data [B
0 36 2 eos Z
0 36 3 runID J
1 29 5 r Ljava/io/Reader;
2 29 6 br Ljava/io/BufferedReader;
3 27 7 header Ljava/lang/String;
28 29 7 header Ljava/lang/String;
7 27 8 cue Landroid/media/TextTrackCue;
8 27 9 startEnd [Ljava/lang/String;
12 13 10 s Ljava/lang/String;
14 27 10 s Ljava/lang/String;
11 27 11 paragraph Ljava/util/List<Ljava/lang/String;>;
16 27 12 i I
20 25 13 line Ljava/lang/String;
23 25 15 span [Landroid/media/TextTrackCueSpan;
31 32 5 e Ljava/io/UnsupportedEncodingException;
34 35 5 ioe Ljava/io/IOException;
Exception table:
from to target type
0 29 30 Class java.io.UnsupportedEncodingException
0 29 33 Class java.io.IOException
MethodParameters:
Name Flags
data
eos
runID
public void updateView(java.util.Vector<android.media.SubtitleTrack$Cue>);
descriptor: (Ljava/util/Vector;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.media.SRTTrack.getRenderingWidget:()Landroid/media/WebVttRenderingWidget;
ifnull 3
1: aload 0
aload 1
invokespecial android.media.WebVttTrack.updateView:(Ljava/util/Vector;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SRTTrack.mEventHandler:Landroid/os/Handler;
ifnonnull 5
4: return
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 3
goto 26
StackMap locals: android.media.SRTTrack java.util.Vector top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.media.SubtitleTrack$Cue
astore 2
start local 2 7: aload 2
checkcast android.media.TextTrackCue
astore 4
start local 4 8: invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
astore 5
start local 5 9: aload 5
bipush 102
invokevirtual android.os.Parcel.writeInt:(I)V
10: aload 5
bipush 7
invokevirtual android.os.Parcel.writeInt:(I)V
11: aload 5
aload 2
getfield android.media.SubtitleTrack$Cue.mStartTimeMs:J
l2i
invokevirtual android.os.Parcel.writeInt:(I)V
12: aload 5
bipush 16
invokevirtual android.os.Parcel.writeInt:(I)V
13: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 14: aload 4
getfield android.media.TextTrackCue.mStrings:[Ljava/lang/String;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 18
StackMap locals: android.media.SRTTrack java.util.Vector android.media.SubtitleTrack$Cue java.util.Iterator android.media.TextTrackCue android.os.Parcel java.lang.StringBuilder top int int java.lang.String[]
StackMap stack:
15: aload 10
iload 8
aaload
astore 7
start local 7 16: aload 6
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 17: iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 9
if_icmplt 15
19: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 7
start local 7 20: aload 5
aload 7
arraylength
invokevirtual android.os.Parcel.writeInt:(I)V
21: aload 5
aload 7
invokevirtual android.os.Parcel.writeByteArray:([B)V
22: aload 0
getfield android.media.SRTTrack.mEventHandler:Landroid/os/Handler;
bipush 99
iconst_0
iconst_0
23: aload 5
24: invokevirtual android.os.Handler.obtainMessage:(IIILjava/lang/Object;)Landroid/os/Message;
astore 8
start local 8 25: aload 0
getfield android.media.SRTTrack.mEventHandler:Landroid/os/Handler;
aload 8
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 26: StackMap locals: android.media.SRTTrack java.util.Vector top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
27: aload 1
invokevirtual java.util.Vector.clear:()V
28: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Landroid/media/SRTTrack;
0 29 1 activeCues Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;
7 26 2 cue Landroid/media/SubtitleTrack$Cue;
8 26 4 ttc Landroid/media/TextTrackCue;
9 26 5 parcel Landroid/os/Parcel;
14 26 6 sb Ljava/lang/StringBuilder;
16 17 7 line Ljava/lang/String;
20 26 7 buf [B
25 26 8 msg Landroid/os/Message;
Signature: (Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;)V
MethodParameters:
Name Flags
activeCues
private static long parseMs(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: aload 0
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_0
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 1
start local 1 1: aload 0
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_1
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 3
start local 3 2: aload 0
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_2
aaload
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_0
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 5
start local 5 3: aload 0
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_2
aaload
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_1
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 7
start local 7 4: lload 1
ldc 60
lmul
ldc 60
lmul
ldc 1000
lmul
lload 3
ldc 60
lmul
ldc 1000
lmul
ladd
lload 5
ldc 1000
lmul
ladd
lload 7
ladd
lreturn
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 in Ljava/lang/String;
1 5 1 hours J
2 5 3 minutes J
3 5 5 seconds J
4 5 7 millies J
MethodParameters:
Name Flags
in
}
SourceFile: "SRTRenderer.java"
InnerClasses:
public Cue = android.media.SubtitleTrack$Cue of android.media.SubtitleTrack