class android.media.WebVttTrack extends android.media.SubtitleTrack implements android.media.WebVttCueListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.WebVttTrack
super_class: android.media.SubtitleTrack
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "WebVttTrack"
private final android.media.WebVttParser mParser;
descriptor: Landroid/media/WebVttParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.media.UnstyledTextExtractor mExtractor;
descriptor: Landroid/media/UnstyledTextExtractor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.media.Tokenizer mTokenizer;
descriptor: Landroid/media/Tokenizer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Vector<java.lang.Long> mTimestamps;
descriptor: Ljava/util/Vector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Vector<Ljava/lang/Long;>;
private final android.media.WebVttRenderingWidget mRenderingWidget;
descriptor: Landroid/media/WebVttRenderingWidget;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, android.media.TextTrackRegion> mRegions;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Landroid/media/TextTrackRegion;>;
private java.lang.Long mCurrentRunID;
descriptor: Ljava/lang/Long;
flags: (0x0002) ACC_PRIVATE
void <init>(android.media.WebVttRenderingWidget, android.media.MediaFormat);
descriptor: (Landroid/media/WebVttRenderingWidget;Landroid/media/MediaFormat;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial android.media.SubtitleTrack.<init>:(Landroid/media/MediaFormat;)V
1: aload 0
new android.media.WebVttParser
dup
aload 0
invokespecial android.media.WebVttParser.<init>:(Landroid/media/WebVttCueListener;)V
putfield android.media.WebVttTrack.mParser:Landroid/media/WebVttParser;
2: aload 0
3: new android.media.UnstyledTextExtractor
dup
invokespecial android.media.UnstyledTextExtractor.<init>:()V
putfield android.media.WebVttTrack.mExtractor:Landroid/media/UnstyledTextExtractor;
4: aload 0
new android.media.Tokenizer
dup
aload 0
getfield android.media.WebVttTrack.mExtractor:Landroid/media/UnstyledTextExtractor;
invokespecial android.media.Tokenizer.<init>:(Landroid/media/Tokenizer$OnTokenListener;)V
putfield android.media.WebVttTrack.mTokenizer:Landroid/media/Tokenizer;
5: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
6: aload 0
7: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.media.WebVttTrack.mRegions:Ljava/util/Map;
8: aload 0
aload 1
putfield android.media.WebVttTrack.mRenderingWidget:Landroid/media/WebVttRenderingWidget;
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/media/WebVttTrack;
0 10 1 renderingWidget Landroid/media/WebVttRenderingWidget;
0 10 2 format Landroid/media/MediaFormat;
MethodParameters:
Name Flags
renderingWidget
format
public android.media.WebVttRenderingWidget getRenderingWidget();
descriptor: ()Landroid/media/WebVttRenderingWidget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.WebVttTrack.mRenderingWidget:Landroid/media/WebVttRenderingWidget;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/WebVttTrack;
public void onData(byte[], boolean, long);
descriptor: ([BZJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.String
dup
aload 1
ldc "UTF-8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 5
start local 5 1: aload 0
getfield android.media.WebVttTrack.mParser:Landroid/media/WebVttParser;
dup
astore 6
monitorenter
2: aload 0
getfield android.media.WebVttTrack.mCurrentRunID:Ljava/lang/Long;
ifnull 8
lload 3
aload 0
getfield android.media.WebVttTrack.mCurrentRunID:Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lcmp
ifeq 8
3: new java.lang.IllegalStateException
dup
4: new java.lang.StringBuilder
dup
ldc "Run #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.media.WebVttTrack.mCurrentRunID:Ljava/lang/Long;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: ldc " in progress. Cannot process run #"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String android.media.WebVttParser
StackMap stack:
aload 0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
putfield android.media.WebVttTrack.mCurrentRunID:Ljava/lang/Long;
9: aload 0
getfield android.media.WebVttTrack.mParser:Landroid/media/WebVttParser;
aload 5
invokevirtual android.media.WebVttParser.parse:(Ljava/lang/String;)V
10: iload 2
ifeq 15
11: aload 0
lload 3
invokevirtual android.media.WebVttTrack.finishedRun:(J)V
12: aload 0
getfield android.media.WebVttTrack.mParser:Landroid/media/WebVttParser;
invokevirtual android.media.WebVttParser.eos:()V
13: aload 0
getfield android.media.WebVttTrack.mRegions:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
14: aload 0
aconst_null
putfield android.media.WebVttTrack.mCurrentRunID:Ljava/lang/Long;
15: StackMap locals:
StackMap stack:
aload 6
monitorexit
16: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 6
monitorexit
18: athrow
end local 5 19: StackMap locals: android.media.WebVttTrack byte[] int long
StackMap stack: java.io.UnsupportedEncodingException
astore 5
start local 5 20: ldc "WebVttTrack"
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 21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Landroid/media/WebVttTrack;
0 22 1 data [B
0 22 2 eos Z
0 22 3 runID J
1 19 5 str Ljava/lang/String;
20 21 5 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
2 16 17 any
17 18 17 any
0 19 19 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
data
eos
runID
public void onCueParsed(android.media.TextTrackCue);
descriptor: (Landroid/media/TextTrackCue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.WebVttTrack.mParser:Landroid/media/WebVttParser;
dup
astore 2
monitorenter
1: aload 1
getfield android.media.TextTrackCue.mRegionId:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifeq 3
2: aload 1
aload 0
getfield android.media.WebVttTrack.mRegions:Ljava/util/Map;
aload 1
getfield android.media.TextTrackCue.mRegionId:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.media.TextTrackRegion
putfield android.media.TextTrackCue.mRegion:Landroid/media/TextTrackRegion;
3: StackMap locals: android.media.WebVttParser
StackMap stack:
aload 0
getfield android.media.WebVttTrack.DEBUG:Z
ifeq 4
ldc "WebVttTrack"
new java.lang.StringBuilder
dup
ldc "adding cue "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield android.media.WebVttTrack.mTokenizer:Landroid/media/Tokenizer;
invokevirtual android.media.Tokenizer.reset:()V
5: aload 1
getfield android.media.TextTrackCue.mStrings:[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: android.media.WebVttTrack android.media.TextTrackCue android.media.WebVttParser top int int java.lang.String[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 0
getfield android.media.WebVttTrack.mTokenizer:Landroid/media/Tokenizer;
aload 3
invokevirtual android.media.Tokenizer.tokenize:(Ljava/lang/String;)V
end local 3 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 6
10: aload 1
aload 0
getfield android.media.WebVttTrack.mExtractor:Landroid/media/UnstyledTextExtractor;
invokevirtual android.media.UnstyledTextExtractor.getText:()[[Landroid/media/TextTrackCueSpan;
putfield android.media.TextTrackCue.mLines:[[Landroid/media/TextTrackCueSpan;
11: aload 0
getfield android.media.WebVttTrack.DEBUG:Z
ifeq 19
ldc "WebVttTrack"
aload 1
12: aload 1
13: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
14: invokevirtual android.media.TextTrackCue.appendStringsToBuilder:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
15: ldc " simplified to: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: invokevirtual android.media.TextTrackCue.appendLinesToBuilder:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
19: StackMap locals: android.media.WebVttTrack android.media.TextTrackCue android.media.WebVttParser
StackMap stack:
aload 1
getfield android.media.TextTrackCue.mLines:[[Landroid/media/TextTrackCueSpan;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 30
StackMap locals: android.media.WebVttTrack android.media.TextTrackCue android.media.WebVttParser top int int android.media.TextTrackCueSpan[][]
StackMap stack:
20: aload 6
iload 4
aaload
astore 3
start local 3 21: aload 3
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 28
StackMap locals: android.media.WebVttTrack android.media.TextTrackCue android.media.WebVttParser android.media.TextTrackCueSpan[] int int android.media.TextTrackCueSpan[][] top int int android.media.TextTrackCueSpan[]
StackMap stack:
22: aload 10
iload 8
aaload
astore 7
start local 7 23: aload 7
getfield android.media.TextTrackCueSpan.mTimestampMs:J
aload 1
getfield android.media.TextTrackCue.mStartTimeMs:J
lcmp
ifle 27
24: aload 7
getfield android.media.TextTrackCueSpan.mTimestampMs:J
aload 1
getfield android.media.TextTrackCue.mEndTimeMs:J
lcmp
ifge 27
25: aload 0
getfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
aload 7
getfield android.media.TextTrackCueSpan.mTimestampMs:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifne 27
26: aload 0
getfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
aload 7
getfield android.media.TextTrackCueSpan.mTimestampMs:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 7 27: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
28: iload 8
iload 9
if_icmplt 22
end local 3 29: iinc 4 1
StackMap locals: android.media.WebVttTrack android.media.TextTrackCue android.media.WebVttParser top int int android.media.TextTrackCueSpan[][]
StackMap stack:
30: iload 4
iload 5
if_icmplt 20
31: aload 0
getfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifle 40
32: aload 1
aload 0
getfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
newarray 11
putfield android.media.TextTrackCue.mInnerTimesMs:[J
33: iconst_0
istore 3
start local 3 34: goto 37
35: StackMap locals: android.media.WebVttTrack android.media.TextTrackCue android.media.WebVttParser int
StackMap stack:
aload 1
getfield android.media.TextTrackCue.mInnerTimesMs:[J
iload 3
aload 0
getfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
iload 3
invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lastore
36: iinc 3 1
StackMap locals:
StackMap stack:
37: iload 3
aload 0
getfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 35
end local 3 38: aload 0
getfield android.media.WebVttTrack.mTimestamps:Ljava/util/Vector;
invokevirtual java.util.Vector.clear:()V
39: goto 41
40: StackMap locals:
StackMap stack:
aload 1
aconst_null
putfield android.media.TextTrackCue.mInnerTimesMs:[J
41: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.media.WebVttTrack.mCurrentRunID:Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
putfield android.media.TextTrackCue.mRunID:J
42: aload 2
monitorexit
43: goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
44: aload 2
monitorexit
45: athrow
46: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.media.WebVttTrack.addCue:(Landroid/media/SubtitleTrack$Cue;)Z
pop
47: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Landroid/media/WebVttTrack;
0 48 1 cue Landroid/media/TextTrackCue;
7 8 3 s Ljava/lang/String;
21 29 3 line [Landroid/media/TextTrackCueSpan;
23 27 7 span Landroid/media/TextTrackCueSpan;
34 38 3 ix I
Exception table:
from to target type
1 43 44 any
44 45 44 any
MethodParameters:
Name Flags
cue
public void onRegionParsed(android.media.TextTrackRegion);
descriptor: (Landroid/media/TextTrackRegion;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.WebVttTrack.mParser:Landroid/media/WebVttParser;
dup
astore 2
monitorenter
1: aload 0
getfield android.media.WebVttTrack.mRegions:Ljava/util/Map;
aload 1
getfield android.media.TextTrackRegion.mId:Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
monitorexit
3: goto 6
StackMap locals: android.media.WebVttTrack android.media.TextTrackRegion android.media.WebVttParser
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/WebVttTrack;
0 7 1 region Landroid/media/TextTrackRegion;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
region
public void updateView(java.util.Vector<android.media.SubtitleTrack$Cue>);
descriptor: (Ljava/util/Vector;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.WebVttTrack.mVisible:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.WebVttTrack.DEBUG:Z
ifeq 10
aload 0
getfield android.media.WebVttTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ifnull 10
3: ldc "WebVttTrack"
new java.lang.StringBuilder
dup
ldc "at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
getfield android.media.WebVttTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
iconst_0
iconst_1
invokeinterface android.media.MediaTimeProvider.getCurrentTimeUs:(ZZ)J
ldc 1000
ldiv
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
5: ldc " ms the active cues are:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: goto 10
StackMap locals:
StackMap stack: java.lang.IllegalStateException
8: pop
9: ldc "WebVttTrack"
ldc "at (illegal state) the active cues are:"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield android.media.WebVttTrack.mRenderingWidget:Landroid/media/WebVttRenderingWidget;
ifnull 12
11: aload 0
getfield android.media.WebVttTrack.mRenderingWidget:Landroid/media/WebVttRenderingWidget;
aload 1
invokevirtual android.media.WebVttRenderingWidget.setActiveCues:(Ljava/util/Vector;)V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/media/WebVttTrack;
0 13 1 activeCues Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;
Exception table:
from to target type
3 7 8 Class java.lang.IllegalStateException
Signature: (Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;)V
MethodParameters:
Name Flags
activeCues
public android.media.SubtitleTrack$RenderingWidget getRenderingWidget();
descriptor: ()Landroid/media/SubtitleTrack$RenderingWidget;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.media.WebVttTrack.getRenderingWidget:()Landroid/media/WebVttRenderingWidget;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "WebVttRenderer.java"
InnerClasses:
public Cue = android.media.SubtitleTrack$Cue of android.media.SubtitleTrack
public abstract RenderingWidget = android.media.SubtitleTrack$RenderingWidget of android.media.SubtitleTrack
abstract OnTokenListener = android.media.Tokenizer$OnTokenListener of android.media.Tokenizer