class android.media.Cea708CCParser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.Cea708CCParser
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Cea708CCParser"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String MUSIC_NOTE_CHAR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.StringBuffer mBuffer;
descriptor: Ljava/lang/StringBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mCommand;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.media.Cea708CCParser$DisplayListener mListener;
descriptor: Landroid/media/Cea708CCParser$DisplayListener;
flags: (0x0002) ACC_PRIVATE
public static final int CAPTION_EMIT_TYPE_BUFFER;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int CAPTION_EMIT_TYPE_CONTROL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int CAPTION_EMIT_TYPE_COMMAND_CWX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int CAPTION_EMIT_TYPE_COMMAND_CLW;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int CAPTION_EMIT_TYPE_COMMAND_DSW;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int CAPTION_EMIT_TYPE_COMMAND_HDW;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int CAPTION_EMIT_TYPE_COMMAND_TGW;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int CAPTION_EMIT_TYPE_COMMAND_DLW;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int CAPTION_EMIT_TYPE_COMMAND_DLY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
public static final int CAPTION_EMIT_TYPE_COMMAND_DLC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public static final int CAPTION_EMIT_TYPE_COMMAND_RST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 11
public static final int CAPTION_EMIT_TYPE_COMMAND_SPA;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 12
public static final int CAPTION_EMIT_TYPE_COMMAND_SPC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 13
public static final int CAPTION_EMIT_TYPE_COMMAND_SPL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 14
public static final int CAPTION_EMIT_TYPE_COMMAND_SWA;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 15
public static final int CAPTION_EMIT_TYPE_COMMAND_DFX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new java.lang.String
dup
1: ldc "\u266B"
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
2: invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
putstatic android.media.Cea708CCParser.MUSIC_NOTE_CHAR:Ljava/lang/String;
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(android.media.Cea708CCParser$DisplayListener);
descriptor: (Landroid/media/Cea708CCParser$DisplayListener;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
putfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
2: aload 0
iconst_0
putfield android.media.Cea708CCParser.mCommand:I
3: aload 0
new android.media.Cea708CCParser$1
dup
aload 0
invokespecial android.media.Cea708CCParser$1.<init>:(Landroid/media/Cea708CCParser;)V
putfield android.media.Cea708CCParser.mListener:Landroid/media/Cea708CCParser$DisplayListener;
4: aload 1
ifnull 6
5: aload 0
aload 1
putfield android.media.Cea708CCParser.mListener:Landroid/media/Cea708CCParser$DisplayListener;
6: StackMap locals: android.media.Cea708CCParser android.media.Cea708CCParser$DisplayListener
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/Cea708CCParser;
0 7 1 listener Landroid/media/Cea708CCParser$DisplayListener;
MethodParameters:
Name Flags
listener
private void emitCaptionEvent(android.media.Cea708CCParser$CaptionEvent);
descriptor: (Landroid/media/Cea708CCParser$CaptionEvent;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.media.Cea708CCParser.emitCaptionBuffer:()V
1: aload 0
getfield android.media.Cea708CCParser.mListener:Landroid/media/Cea708CCParser$DisplayListener;
aload 1
invokeinterface android.media.Cea708CCParser$DisplayListener.emitEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/Cea708CCParser;
0 3 1 captionEvent Landroid/media/Cea708CCParser$CaptionEvent;
MethodParameters:
Name Flags
captionEvent
private void emitCaptionBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
ifle 3
1: aload 0
getfield android.media.Cea708CCParser.mListener:Landroid/media/Cea708CCParser$DisplayListener;
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_1
aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokeinterface android.media.Cea708CCParser$DisplayListener.emitEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
2: aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.setLength:(I)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/Cea708CCParser;
public void parse(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 3
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseServiceBlockData:([BI)I
istore 2
3: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 2
4: aload 0
invokevirtual android.media.Cea708CCParser.emitCaptionBuffer:()V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/Cea708CCParser;
0 6 1 data [B
1 6 2 pos I
MethodParameters:
Name Flags
data
private int parseServiceBlockData(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
baload
sipush 255
iand
putfield android.media.Cea708CCParser.mCommand:I
1: iinc 2 1
2: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 16
if_icmpne 5
3: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseExt1:([BI)I
istore 2
4: goto 20
StackMap locals:
StackMap stack:
5: aload 0
getfield android.media.Cea708CCParser.mCommand:I
iflt 9
6: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 31
if_icmpgt 9
7: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseC0:([BI)I
istore 2
8: goto 20
StackMap locals:
StackMap stack:
9: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 128
if_icmplt 13
10: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 159
if_icmpgt 13
11: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseC1:([BI)I
istore 2
12: goto 20
StackMap locals:
StackMap stack:
13: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 32
if_icmplt 17
14: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 127
if_icmpgt 17
15: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseG0:([BI)I
istore 2
16: goto 20
StackMap locals:
StackMap stack:
17: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 160
if_icmplt 20
18: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 255
if_icmpgt 20
19: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseG1:([BI)I
istore 2
20: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Landroid/media/Cea708CCParser;
0 21 1 data [B
0 21 2 pos I
MethodParameters:
Name Flags
data
pos
private int parseC0(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 24
if_icmplt 13
1: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 31
if_icmpgt 13
2: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 24
if_icmpne 11
3: aload 1
iload 2
baload
ifne 6
4: aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
aload 1
iload 2
iconst_1
iadd
baload
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
5: goto 11
6: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 1
iload 2
iload 2
iconst_2
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
ldc "EUC-KR"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 3
start local 3 7: aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
aload 3
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 3 8: goto 11
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
9: astore 3
start local 3 10: ldc "Cea708CCParser"
ldc "P16 Code - Could not find supported encoding"
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 11: StackMap locals:
StackMap stack:
iinc 2 2
12: goto 29
StackMap locals:
StackMap stack:
13: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 16
if_icmplt 17
14: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 23
if_icmpgt 17
15: iinc 2 1
16: goto 29
17: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Cea708CCParser.mCommand:I
tableswitch { // 0 - 14
0: 18
1: 29
2: 29
3: 19
4: 29
5: 29
6: 29
7: 29
8: 21
9: 29
10: 29
11: 29
12: 23
13: 25
14: 27
default: 29
}
18: StackMap locals:
StackMap stack:
goto 29
19: StackMap locals:
StackMap stack:
aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_2
aload 0
getfield android.media.Cea708CCParser.mCommand:I
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
20: goto 29
21: StackMap locals:
StackMap stack:
aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_2
aload 0
getfield android.media.Cea708CCParser.mCommand:I
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
22: goto 29
23: StackMap locals:
StackMap stack:
aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_2
aload 0
getfield android.media.Cea708CCParser.mCommand:I
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
24: goto 29
25: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
bipush 10
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
26: goto 29
27: StackMap locals:
StackMap stack:
aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_2
aload 0
getfield android.media.Cea708CCParser.mCommand:I
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
28: goto 29
29: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Landroid/media/Cea708CCParser;
0 30 1 data [B
0 30 2 pos I
7 8 3 value Ljava/lang/String;
10 11 3 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
3 8 9 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
data
pos
private int parseC1(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=19, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.Cea708CCParser.mCommand:I
tableswitch { // 128 - 159
128: 1
129: 1
130: 1
131: 1
132: 1
133: 1
134: 1
135: 1
136: 4
137: 8
138: 12
139: 16
140: 20
141: 24
142: 28
143: 30
144: 32
145: 50
146: 73
147: 138
148: 138
149: 138
150: 138
151: 80
152: 109
153: 109
154: 109
155: 109
156: 109
157: 109
158: 109
159: 109
default: 138
}
1: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 128
isub
istore 3
start local 3 2: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_3
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
3: goto 138
end local 3 4: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 255
iand
istore 3
start local 3 5: iinc 2 1
6: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_4
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
7: goto 138
end local 3 8: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 255
iand
istore 3
start local 3 9: iinc 2 1
10: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
iconst_5
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
11: goto 138
end local 3 12: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 255
iand
istore 3
start local 3 13: iinc 2 1
14: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 6
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
15: goto 138
end local 3 16: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 255
iand
istore 3
start local 3 17: iinc 2 1
18: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 7
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
19: goto 138
end local 3 20: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 255
iand
istore 3
start local 3 21: iinc 2 1
22: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 8
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
23: goto 138
end local 3 24: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 255
iand
istore 3
start local 3 25: iinc 2 1
26: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 9
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
27: goto 138
end local 3 28: StackMap locals:
StackMap stack:
aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 10
aconst_null
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
29: goto 138
30: StackMap locals:
StackMap stack:
aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 11
aconst_null
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
31: goto 138
32: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 240
iand
iconst_4
ishr
istore 3
start local 3 33: aload 1
iload 2
baload
iconst_3
iand
istore 4
start local 4 34: aload 1
iload 2
baload
bipush 12
iand
iconst_2
ishr
istore 5
start local 5 35: aload 1
iload 2
iconst_1
iadd
baload
sipush 128
iand
ifeq 36
iconst_1
goto 37
StackMap locals: int int int
StackMap stack:
36: iconst_0
StackMap locals:
StackMap stack: int
37: istore 6
start local 6 38: aload 1
iload 2
iconst_1
iadd
baload
bipush 64
iand
ifeq 39
iconst_1
goto 40
StackMap locals: int
StackMap stack:
39: iconst_0
StackMap locals:
StackMap stack: int
40: istore 7
start local 7 41: aload 1
iload 2
iconst_1
iadd
baload
bipush 56
iand
iconst_3
ishr
istore 8
start local 8 42: aload 1
iload 2
iconst_1
iadd
baload
bipush 7
iand
istore 9
start local 9 43: iinc 2 2
44: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 12
45: new android.media.Cea708CCParser$CaptionPenAttr
dup
iload 4
iload 5
iload 3
iload 9
iload 8
46: iload 7
iload 6
47: invokespecial android.media.Cea708CCParser$CaptionPenAttr.<init>:(IIIIIZZ)V
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
48: invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
49: goto 138
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 50: StackMap locals: android.media.Cea708CCParser byte[] int
StackMap stack:
aload 1
iload 2
baload
sipush 192
iand
bipush 6
ishr
istore 3
start local 3 51: aload 1
iload 2
baload
bipush 48
iand
iconst_4
ishr
istore 4
start local 4 52: aload 1
iload 2
baload
bipush 12
iand
iconst_2
ishr
istore 5
start local 5 53: aload 1
iload 2
baload
iconst_3
iand
istore 6
start local 6 54: new android.media.Cea708CCParser$CaptionColor
dup
iload 3
iload 4
iload 5
iload 6
invokespecial android.media.Cea708CCParser$CaptionColor.<init>:(IIII)V
astore 7
start local 7 55: iinc 2 1
56: aload 1
iload 2
baload
sipush 192
iand
bipush 6
ishr
istore 3
57: aload 1
iload 2
baload
bipush 48
iand
iconst_4
ishr
istore 4
58: aload 1
iload 2
baload
bipush 12
iand
iconst_2
ishr
istore 5
59: aload 1
iload 2
baload
iconst_3
iand
istore 6
60: new android.media.Cea708CCParser$CaptionColor
dup
iload 3
iload 4
iload 5
iload 6
invokespecial android.media.Cea708CCParser$CaptionColor.<init>:(IIII)V
astore 8
start local 8 61: iinc 2 1
62: aload 1
iload 2
baload
bipush 48
iand
iconst_4
ishr
istore 4
63: aload 1
iload 2
baload
bipush 12
iand
iconst_2
ishr
istore 5
64: aload 1
iload 2
baload
iconst_3
iand
istore 6
65: new android.media.Cea708CCParser$CaptionColor
dup
66: iconst_0
iload 4
iload 5
iload 6
67: invokespecial android.media.Cea708CCParser$CaptionColor.<init>:(IIII)V
astore 9
start local 9 68: iinc 2 1
69: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 13
70: new android.media.Cea708CCParser$CaptionPenColor
dup
aload 7
aload 8
aload 9
invokespecial android.media.Cea708CCParser$CaptionPenColor.<init>:(Landroid/media/Cea708CCParser$CaptionColor;Landroid/media/Cea708CCParser$CaptionColor;Landroid/media/Cea708CCParser$CaptionColor;)V
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
71: invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
72: goto 138
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 73: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
bipush 15
iand
istore 3
start local 3 74: aload 1
iload 2
iconst_1
iadd
baload
bipush 63
iand
istore 4
start local 4 75: iinc 2 2
76: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 14
77: new android.media.Cea708CCParser$CaptionPenLocation
dup
iload 3
iload 4
invokespecial android.media.Cea708CCParser$CaptionPenLocation.<init>:(II)V
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
78: invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
79: goto 138
end local 4 end local 3 80: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
sipush 192
iand
bipush 6
ishr
istore 3
start local 3 81: aload 1
iload 2
baload
bipush 48
iand
iconst_4
ishr
istore 4
start local 4 82: aload 1
iload 2
baload
bipush 12
iand
iconst_2
ishr
istore 5
start local 5 83: aload 1
iload 2
baload
iconst_3
iand
istore 6
start local 6 84: new android.media.Cea708CCParser$CaptionColor
dup
iload 3
iload 4
iload 5
iload 6
invokespecial android.media.Cea708CCParser$CaptionColor.<init>:(IIII)V
astore 7
start local 7 85: aload 1
iload 2
iconst_1
iadd
baload
sipush 192
iand
bipush 6
ishr
aload 1
iload 2
iconst_2
iadd
baload
sipush 128
iand
iconst_5
ishr
ior
istore 8
start local 8 86: aload 1
iload 2
iconst_1
iadd
baload
bipush 48
iand
iconst_4
ishr
istore 4
87: aload 1
iload 2
iconst_1
iadd
baload
bipush 12
iand
iconst_2
ishr
istore 5
88: aload 1
iload 2
iconst_1
iadd
baload
iconst_3
iand
istore 6
89: new android.media.Cea708CCParser$CaptionColor
dup
90: iconst_0
iload 4
iload 5
iload 6
91: invokespecial android.media.Cea708CCParser$CaptionColor.<init>:(IIII)V
astore 9
start local 9 92: aload 1
iload 2
iconst_2
iadd
baload
bipush 64
iand
ifeq 93
iconst_1
goto 94
StackMap locals: android.media.Cea708CCParser byte[] int int int int int android.media.Cea708CCParser$CaptionColor int android.media.Cea708CCParser$CaptionColor
StackMap stack:
93: iconst_0
StackMap locals:
StackMap stack: int
94: istore 10
start local 10 95: aload 1
iload 2
iconst_2
iadd
baload
bipush 48
iand
iconst_4
ishr
istore 11
start local 11 96: aload 1
iload 2
iconst_2
iadd
baload
bipush 12
iand
iconst_2
ishr
istore 12
start local 12 97: aload 1
iload 2
iconst_2
iadd
baload
iconst_3
iand
istore 13
start local 13 98: aload 1
iload 2
iconst_3
iadd
baload
sipush 240
iand
iconst_4
ishr
istore 14
start local 14 99: aload 1
iload 2
iconst_3
iadd
baload
bipush 12
iand
iconst_2
ishr
istore 15
start local 15 100: aload 1
iload 2
iconst_3
iadd
baload
iconst_3
iand
istore 16
start local 16 101: iinc 2 4
102: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 15
103: new android.media.Cea708CCParser$CaptionWindowAttr
dup
aload 7
aload 9
iload 8
iload 10
104: iload 11
iload 12
iload 13
105: iload 15
iload 14
iload 16
106: invokespecial android.media.Cea708CCParser$CaptionWindowAttr.<init>:(Landroid/media/Cea708CCParser$CaptionColor;Landroid/media/Cea708CCParser$CaptionColor;IZIIIIII)V
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
107: invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
108: goto 138
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 109: StackMap locals: android.media.Cea708CCParser byte[] int
StackMap stack:
aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 152
isub
istore 3
start local 3 110: aload 1
iload 2
baload
bipush 32
iand
ifeq 111
iconst_1
goto 112
StackMap locals: int
StackMap stack:
111: iconst_0
StackMap locals:
StackMap stack: int
112: istore 4
start local 4 113: aload 1
iload 2
baload
bipush 16
iand
ifeq 114
iconst_1
goto 115
StackMap locals: int
StackMap stack:
114: iconst_0
StackMap locals:
StackMap stack: int
115: istore 5
start local 5 116: aload 1
iload 2
baload
bipush 8
iand
ifeq 117
iconst_1
goto 118
StackMap locals: int
StackMap stack:
117: iconst_0
StackMap locals:
StackMap stack: int
118: istore 6
start local 6 119: aload 1
iload 2
baload
bipush 7
iand
istore 7
start local 7 120: aload 1
iload 2
iconst_1
iadd
baload
sipush 128
iand
ifeq 121
iconst_1
goto 122
StackMap locals: int int
StackMap stack:
121: iconst_0
StackMap locals:
StackMap stack: int
122: istore 8
start local 8 123: aload 1
iload 2
iconst_1
iadd
baload
bipush 127
iand
istore 9
start local 9 124: aload 1
iload 2
iconst_2
iadd
baload
sipush 255
iand
istore 10
start local 10 125: aload 1
iload 2
iconst_3
iadd
baload
sipush 240
iand
iconst_4
ishr
istore 11
start local 11 126: aload 1
iload 2
iconst_3
iadd
baload
bipush 15
iand
istore 12
start local 12 127: aload 1
iload 2
iconst_4
iadd
baload
bipush 63
iand
istore 13
start local 13 128: aload 1
iload 2
iconst_5
iadd
baload
bipush 56
iand
iconst_3
ishr
istore 14
start local 14 129: aload 1
iload 2
iconst_5
iadd
baload
bipush 7
iand
istore 15
start local 15 130: iinc 2 6
131: aload 0
new android.media.Cea708CCParser$CaptionEvent
dup
bipush 16
132: new android.media.Cea708CCParser$CaptionWindow
dup
iload 3
iload 4
iload 5
iload 6
iload 7
133: iload 8
iload 9
iload 10
iload 11
134: iload 12
iload 13
iload 15
iload 14
135: invokespecial android.media.Cea708CCParser$CaptionWindow.<init>:(IZZZIZIIIIIII)V
invokespecial android.media.Cea708CCParser$CaptionEvent.<init>:(ILjava/lang/Object;)V
136: invokevirtual android.media.Cea708CCParser.emitCaptionEvent:(Landroid/media/Cea708CCParser$CaptionEvent;)V
137: goto 138
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 138: StackMap locals: android.media.Cea708CCParser byte[] int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 139 0 this Landroid/media/Cea708CCParser;
0 139 1 data [B
0 139 2 pos I
2 4 3 windowId I
5 8 3 windowBitmap I
9 12 3 windowBitmap I
13 16 3 windowBitmap I
17 20 3 windowBitmap I
21 24 3 windowBitmap I
25 28 3 tenthsOfSeconds I
33 50 3 textTag I
34 50 4 penSize I
35 50 5 penOffset I
38 50 6 italic Z
41 50 7 underline Z
42 50 8 edgeType I
43 50 9 fontTag I
51 73 3 opacity I
52 73 4 red I
53 73 5 green I
54 73 6 blue I
55 73 7 foregroundColor Landroid/media/Cea708CCParser$CaptionColor;
61 73 8 backgroundColor Landroid/media/Cea708CCParser$CaptionColor;
68 73 9 edgeColor Landroid/media/Cea708CCParser$CaptionColor;
74 80 3 row I
75 80 4 column I
81 109 3 opacity I
82 109 4 red I
83 109 5 green I
84 109 6 blue I
85 109 7 fillColor Landroid/media/Cea708CCParser$CaptionColor;
86 109 8 borderType I
92 109 9 borderColor Landroid/media/Cea708CCParser$CaptionColor;
95 109 10 wordWrap Z
96 109 11 printDirection I
97 109 12 scrollDirection I
98 109 13 justify I
99 109 14 effectSpeed I
100 109 15 effectDirection I
101 109 16 displayEffect I
110 138 3 windowId I
113 138 4 visible Z
116 138 5 rowLock Z
119 138 6 columnLock Z
120 138 7 priority I
123 138 8 relativePositioning Z
124 138 9 anchorVertical I
125 138 10 anchorHorizontal I
126 138 11 anchorId I
127 138 12 rowCount I
128 138 13 columnCount I
129 138 14 windowStyle I
130 138 15 penStyle I
MethodParameters:
Name Flags
data
pos
private int parseG0(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 127
if_icmpne 3
1: aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
getstatic android.media.Cea708CCParser.MUSIC_NOTE_CHAR:Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
aload 0
getfield android.media.Cea708CCParser.mCommand:I
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/Cea708CCParser;
0 5 1 data [B
0 5 2 pos I
MethodParameters:
Name Flags
data
pos
private int parseG1(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.Cea708CCParser.mBuffer:Ljava/lang/StringBuffer;
aload 0
getfield android.media.Cea708CCParser.mCommand:I
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
1: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/Cea708CCParser;
0 2 1 data [B
0 2 2 pos I
MethodParameters:
Name Flags
data
pos
private int parseExt1(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
baload
sipush 255
iand
putfield android.media.Cea708CCParser.mCommand:I
1: iinc 2 1
2: aload 0
getfield android.media.Cea708CCParser.mCommand:I
iflt 6
3: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 31
if_icmpgt 6
4: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseC2:([BI)I
istore 2
5: goto 17
StackMap locals:
StackMap stack:
6: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 128
if_icmplt 10
7: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 159
if_icmpgt 10
8: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseC3:([BI)I
istore 2
9: goto 17
StackMap locals:
StackMap stack:
10: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 32
if_icmplt 14
11: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 127
if_icmpgt 14
12: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseG2:([BI)I
istore 2
13: goto 17
StackMap locals:
StackMap stack:
14: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 160
if_icmplt 17
15: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 255
if_icmpgt 17
16: aload 0
aload 1
iload 2
invokevirtual android.media.Cea708CCParser.parseG3:([BI)I
istore 2
17: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/media/Cea708CCParser;
0 18 1 data [B
0 18 2 pos I
MethodParameters:
Name Flags
data
pos
private int parseC2(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.Cea708CCParser.mCommand:I
iflt 2
1: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 7
if_icmple 13
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 8
if_icmplt 6
3: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 15
if_icmpgt 6
4: iinc 2 1
5: goto 13
StackMap locals:
StackMap stack:
6: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 16
if_icmplt 10
7: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 23
if_icmpgt 10
8: iinc 2 2
9: goto 13
StackMap locals:
StackMap stack:
10: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 24
if_icmplt 13
11: aload 0
getfield android.media.Cea708CCParser.mCommand:I
bipush 31
if_icmpgt 13
12: iinc 2 3
13: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/media/Cea708CCParser;
0 14 1 data [B
0 14 2 pos I
MethodParameters:
Name Flags
data
pos
private int parseC3(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 128
if_icmplt 4
1: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 135
if_icmpgt 4
2: iinc 2 4
3: goto 7
StackMap locals:
StackMap stack:
4: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 136
if_icmplt 7
5: aload 0
getfield android.media.Cea708CCParser.mCommand:I
sipush 143
if_icmpgt 7
6: iinc 2 5
7: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/Cea708CCParser;
0 8 1 data [B
0 8 2 pos I
MethodParameters:
Name Flags
data
pos
private int parseG2(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.Cea708CCParser.mCommand:I
lookupswitch { // 3
32: 1
33: 2
48: 3
default: 4
}
1: StackMap locals:
StackMap stack:
goto 4
2: StackMap locals:
StackMap stack:
goto 4
3: StackMap locals:
StackMap stack:
goto 4
4: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/Cea708CCParser;
0 5 1 data [B
0 5 2 pos I
MethodParameters:
Name Flags
data
pos
private int parseG3(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/Cea708CCParser;
0 1 1 data [B
0 1 2 pos I
MethodParameters:
Name Flags
data
pos
}
SourceFile: "Cea708CaptionRenderer.java"
NestMembers:
android.media.Cea708CCParser$1 android.media.Cea708CCParser$CaptionColor android.media.Cea708CCParser$CaptionEvent android.media.Cea708CCParser$CaptionPenAttr android.media.Cea708CCParser$CaptionPenColor android.media.Cea708CCParser$CaptionPenLocation android.media.Cea708CCParser$CaptionWindow android.media.Cea708CCParser$CaptionWindowAttr android.media.Cea708CCParser$Const android.media.Cea708CCParser$DisplayListener
InnerClasses:
android.media.Cea708CCParser$1
public CaptionColor = android.media.Cea708CCParser$CaptionColor of android.media.Cea708CCParser
public CaptionEvent = android.media.Cea708CCParser$CaptionEvent of android.media.Cea708CCParser
public CaptionPenAttr = android.media.Cea708CCParser$CaptionPenAttr of android.media.Cea708CCParser
public CaptionPenColor = android.media.Cea708CCParser$CaptionPenColor of android.media.Cea708CCParser
public CaptionPenLocation = android.media.Cea708CCParser$CaptionPenLocation of android.media.Cea708CCParser
public CaptionWindow = android.media.Cea708CCParser$CaptionWindow of android.media.Cea708CCParser
public CaptionWindowAttr = android.media.Cea708CCParser$CaptionWindowAttr of android.media.Cea708CCParser
private Const = android.media.Cea708CCParser$Const of android.media.Cea708CCParser
abstract DisplayListener = android.media.Cea708CCParser$DisplayListener of android.media.Cea708CCParser