public final class android.media.MediaPlayer$DrmInfo
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.media.MediaPlayer$DrmInfo
super_class: java.lang.Object
{
private java.util.Map<java.util.UUID, byte[]> mapPssh;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/util/UUID;[B>;
private java.util.UUID[] supportedSchemes;
descriptor: [Ljava/util/UUID;
flags: (0x0002) ACC_PRIVATE
public java.util.Map<java.util.UUID, byte[]> getPssh();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaPlayer$DrmInfo.mapPssh:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaPlayer$DrmInfo;
Signature: ()Ljava/util/Map<Ljava/util/UUID;[B>;
public java.util.UUID[] getSupportedSchemes();
descriptor: ()[Ljava/util/UUID;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaPlayer$DrmInfo.supportedSchemes:[Ljava/util/UUID;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaPlayer$DrmInfo;
private void <init>(java.util.Map<java.util.UUID, byte[]>, java.util.UUID[]);
descriptor: (Ljava/util/Map;[Ljava/util/UUID;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield android.media.MediaPlayer$DrmInfo.mapPssh:Ljava/util/Map;
2: aload 0
aload 2
putfield android.media.MediaPlayer$DrmInfo.supportedSchemes:[Ljava/util/UUID;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/MediaPlayer$DrmInfo;
0 4 1 Pssh Ljava/util/Map<Ljava/util/UUID;[B>;
0 4 2 SupportedSchemes [Ljava/util/UUID;
Signature: (Ljava/util/Map<Ljava/util/UUID;[B>;[Ljava/util/UUID;)V
MethodParameters:
Name Flags
Pssh
SupportedSchemes
private void <init>(android.os.Parcel);
descriptor: (Landroid/os/Parcel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: ldc "MediaPlayer"
new java.lang.StringBuilder
dup
ldc "DrmInfo("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual android.os.Parcel.dataSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: aload 1
invokevirtual android.os.Parcel.readInt:()I
istore 2
start local 2 3: iload 2
newarray 8
astore 3
start local 3 4: aload 1
aload 3
invokevirtual android.os.Parcel.readByteArray:([B)V
5: ldc "MediaPlayer"
new java.lang.StringBuilder
dup
ldc "DrmInfo() PSSH: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 3
invokevirtual android.media.MediaPlayer$DrmInfo.arrToHex:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: aload 0
aload 0
aload 3
iload 2
invokevirtual android.media.MediaPlayer$DrmInfo.parsePSSH:([BI)Ljava/util/Map;
putfield android.media.MediaPlayer$DrmInfo.mapPssh:Ljava/util/Map;
7: ldc "MediaPlayer"
new java.lang.StringBuilder
dup
ldc "DrmInfo() PSSH: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.media.MediaPlayer$DrmInfo.mapPssh:Ljava/util/Map;
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
8: aload 1
invokevirtual android.os.Parcel.readInt:()I
istore 4
start local 4 9: aload 0
iload 4
anewarray java.util.UUID
putfield android.media.MediaPlayer$DrmInfo.supportedSchemes:[Ljava/util/UUID;
10: iconst_0
istore 5
start local 5 11: goto 19
12: StackMap locals: android.media.MediaPlayer$DrmInfo android.os.Parcel int byte[] int int
StackMap stack:
bipush 16
newarray 8
astore 6
start local 6 13: aload 1
aload 6
invokevirtual android.os.Parcel.readByteArray:([B)V
14: aload 0
getfield android.media.MediaPlayer$DrmInfo.supportedSchemes:[Ljava/util/UUID;
iload 5
aload 0
aload 6
invokevirtual android.media.MediaPlayer$DrmInfo.bytesToUUID:([B)Ljava/util/UUID;
aastore
15: ldc "MediaPlayer"
new java.lang.StringBuilder
dup
ldc "DrmInfo() supportedScheme["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: aload 0
getfield android.media.MediaPlayer$DrmInfo.supportedSchemes:[Ljava/util/UUID;
iload 5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 6 18: iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
iload 4
if_icmplt 12
end local 5 20: ldc "MediaPlayer"
new java.lang.StringBuilder
dup
ldc "DrmInfo() Parcel psshsize: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
21: ldc " supportedDRMsCount: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/media/MediaPlayer$DrmInfo;
0 24 1 parcel Landroid/os/Parcel;
3 24 2 psshsize I
4 24 3 pssh [B
9 24 4 supportedDRMsCount I
11 20 5 i I
13 18 6 uuid [B
MethodParameters:
Name Flags
parcel
private android.media.MediaPlayer$DrmInfo makeCopy();
descriptor: ()Landroid/media/MediaPlayer$DrmInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: new android.media.MediaPlayer$DrmInfo
dup
aload 0
getfield android.media.MediaPlayer$DrmInfo.mapPssh:Ljava/util/Map;
aload 0
getfield android.media.MediaPlayer$DrmInfo.supportedSchemes:[Ljava/util/UUID;
invokespecial android.media.MediaPlayer$DrmInfo.<init>:(Ljava/util/Map;[Ljava/util/UUID;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaPlayer$DrmInfo;
private java.lang.String arrToHex(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: ldc "0x"
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
iload 3
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/MediaPlayer$DrmInfo;
0 7 1 bytes [B
1 7 2 out Ljava/lang/String;
2 6 3 i I
MethodParameters:
Name Flags
bytes
private java.util.UUID bytesToUUID(byte[]);
descriptor: ([B)Ljava/util/UUID;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: lconst_0
lstore 4
start local 4 2: iconst_0
istore 6
start local 6 3: goto 7
4: StackMap locals: long long int
StackMap stack:
lload 2
aload 1
iload 6
baload
i2l
ldc 255
land
bipush 8
bipush 7
iload 6
isub
imul
lshl
lor
lstore 2
5: lload 4
aload 1
iload 6
bipush 8
iadd
baload
i2l
ldc 255
land
bipush 8
bipush 7
iload 6
isub
imul
lshl
lor
lstore 4
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
bipush 8
if_icmplt 4
end local 6 8: new java.util.UUID
dup
lload 2
lload 4
invokespecial java.util.UUID.<init>:(JJ)V
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/MediaPlayer$DrmInfo;
0 9 1 uuid [B
1 9 2 msb J
2 9 4 lsb J
3 8 6 i I
MethodParameters:
Name Flags
uuid
private java.util.Map<java.util.UUID, byte[]> parsePSSH(byte[], int);
descriptor: ([BI)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 1: iload 2
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 48
5: StackMap locals: android.media.MediaPlayer$DrmInfo byte[] int java.util.Map int int int
StackMap stack:
iload 4
bipush 16
if_icmpge 10
6: ldc "MediaPlayer"
ldc "parsePSSH: len is too short to parse UUID: (%d < 16) pssh: %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
7: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
8: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 1
iload 6
iload 6
bipush 16
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 7
start local 7 11: aload 0
aload 7
invokevirtual android.media.MediaPlayer$DrmInfo.bytesToUUID:([B)Ljava/util/UUID;
astore 8
start local 8 12: iinc 6 16
13: iinc 4 -16
14: iload 4
iconst_4
if_icmpge 19
15: ldc "MediaPlayer"
ldc "parsePSSH: len is too short to parse datalen: (%d < 4) pssh: %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
16: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
17: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
18: aconst_null
areturn
19: StackMap locals: byte[] java.util.UUID
StackMap stack:
aload 1
iload 6
iload 6
iconst_4
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 7
20: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 27
21: aload 7
iconst_3
baload
sipush 255
iand
bipush 24
ishl
aload 7
iconst_2
baload
sipush 255
iand
bipush 16
ishl
ior
22: aload 7
iconst_1
baload
sipush 255
iand
bipush 8
ishl
23: ior
24: aload 7
iconst_0
baload
sipush 255
iand
25: ior
26: goto 32
27: StackMap locals:
StackMap stack:
aload 7
iconst_0
baload
sipush 255
iand
bipush 24
ishl
aload 7
iconst_1
baload
sipush 255
iand
bipush 16
ishl
ior
28: aload 7
iconst_2
baload
sipush 255
iand
bipush 8
ishl
29: ior
30: aload 7
iconst_3
baload
sipush 255
iand
31: ior
32: StackMap locals:
StackMap stack: int
istore 9
start local 9 33: iinc 6 4
34: iinc 4 -4
35: iload 4
iload 9
if_icmpge 40
36: ldc "MediaPlayer"
ldc "parsePSSH: len is too short to parse data: (%d < %d) pssh: %d"
iconst_3
anewarray java.lang.Object
dup
iconst_0
37: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
38: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
39: aconst_null
areturn
40: StackMap locals: int
StackMap stack:
aload 1
iload 6
iload 6
iload 9
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 10
start local 10 41: iload 6
iload 9
iadd
istore 6
42: iload 4
iload 9
isub
istore 4
43: ldc "MediaPlayer"
ldc "parsePSSH[%d]: <%s, %s> pssh: %d"
iconst_4
anewarray java.lang.Object
dup
iconst_0
44: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 8
aastore
dup
iconst_2
aload 0
aload 10
invokevirtual android.media.MediaPlayer$DrmInfo.arrToHex:([B)Ljava/lang/String;
aastore
dup
iconst_3
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
45: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
46: iinc 5 1
47: aload 3
aload 8
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 end local 8 end local 7 48: StackMap locals:
StackMap stack:
iload 4
ifgt 5
49: aload 3
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Landroid/media/MediaPlayer$DrmInfo;
0 50 1 pssh [B
0 50 2 psshsize I
1 50 3 result Ljava/util/Map<Ljava/util/UUID;[B>;
2 50 4 len I
3 50 5 numentries I
4 50 6 i I
11 48 7 subset [B
12 48 8 uuid Ljava/util/UUID;
33 48 9 datalen I
41 48 10 data [B
Signature: ([BI)Ljava/util/Map<Ljava/util/UUID;[B>;
MethodParameters:
Name Flags
pssh
psshsize
}
SourceFile: "MediaPlayer.java"
NestHost: android.media.MediaPlayer
InnerClasses:
public final DrmInfo = android.media.MediaPlayer$DrmInfo of android.media.MediaPlayer