public final class android.media.MediaExtractor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.media.MediaExtractor
super_class: java.lang.Object
{
public static final int SEEK_TO_PREVIOUS_SYNC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int SEEK_TO_NEXT_SYNC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int SEEK_TO_CLOSEST_SYNC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int SAMPLE_FLAG_SYNC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int SAMPLE_FLAG_ENCRYPTED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int SAMPLE_FLAG_PARTIAL_FRAME;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private android.media.MediaCas mMediaCas;
descriptor: Landroid/media/MediaCas;
flags: (0x0002) ACC_PRIVATE
private long mNativeContext;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "media_jni"
invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
1: invokestatic android.media.MediaExtractor.native_init:()V
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokevirtual android.media.MediaExtractor.native_setup:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/MediaExtractor;
public final native void setDataSource(android.media.MediaDataSource);
descriptor: (Landroid/media/MediaDataSource;)V
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dataSource
public final void setDataSource(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnull 2
aload 4
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
invokevirtual android.net.Uri.getPath:()Ljava/lang/String;
invokevirtual android.media.MediaExtractor.setDataSource:(Ljava/lang/String;)V
3: return
4: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 5: aload 1
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
astore 6
start local 6 6: aload 6
aload 2
ldc "r"
invokevirtual android.content.ContentResolver.openAssetFileDescriptor:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
astore 5
7: aload 5
ifnonnull 11
8: aload 5
ifnull 10
9: aload 5
invokevirtual android.content.res.AssetFileDescriptor.close:()V
10: StackMap locals: android.content.res.AssetFileDescriptor android.content.ContentResolver
StackMap stack:
return
11: StackMap locals:
StackMap stack:
aload 5
invokevirtual android.content.res.AssetFileDescriptor.getDeclaredLength:()J
lconst_0
lcmp
ifge 14
12: aload 0
aload 5
invokevirtual android.content.res.AssetFileDescriptor.getFileDescriptor:()Ljava/io/FileDescriptor;
invokevirtual android.media.MediaExtractor.setDataSource:(Ljava/io/FileDescriptor;)V
13: goto 19
14: StackMap locals:
StackMap stack:
aload 0
15: aload 5
invokevirtual android.content.res.AssetFileDescriptor.getFileDescriptor:()Ljava/io/FileDescriptor;
16: aload 5
invokevirtual android.content.res.AssetFileDescriptor.getStartOffset:()J
17: aload 5
invokevirtual android.content.res.AssetFileDescriptor.getDeclaredLength:()J
18: invokevirtual android.media.MediaExtractor.setDataSource:(Ljava/io/FileDescriptor;JJ)V
19: StackMap locals:
StackMap stack:
aload 5
ifnull 21
20: aload 5
invokevirtual android.content.res.AssetFileDescriptor.close:()V
21: StackMap locals:
StackMap stack:
return
end local 6 22: StackMap locals: android.media.MediaExtractor android.content.Context android.net.Uri java.util.Map java.lang.String android.content.res.AssetFileDescriptor
StackMap stack: java.lang.SecurityException
pop
23: aload 5
ifnull 32
24: aload 5
invokevirtual android.content.res.AssetFileDescriptor.close:()V
goto 32
25: StackMap locals:
StackMap stack: java.io.IOException
pop
26: aload 5
ifnull 32
27: aload 5
invokevirtual android.content.res.AssetFileDescriptor.close:()V
goto 32
28: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
29: aload 5
ifnull 31
30: aload 5
invokevirtual android.content.res.AssetFileDescriptor.close:()V
31: StackMap locals: android.media.MediaExtractor android.content.Context android.net.Uri java.util.Map java.lang.String android.content.res.AssetFileDescriptor top java.lang.Throwable
StackMap stack:
aload 7
athrow
32: StackMap locals: android.media.MediaExtractor android.content.Context android.net.Uri java.util.Map java.lang.String android.content.res.AssetFileDescriptor
StackMap stack:
aload 0
aload 2
invokevirtual android.net.Uri.toString:()Ljava/lang/String;
aload 3
invokevirtual android.media.MediaExtractor.setDataSource:(Ljava/lang/String;Ljava/util/Map;)V
33: return
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 34 0 this Landroid/media/MediaExtractor;
0 34 1 context Landroid/content/Context;
0 34 2 uri Landroid/net/Uri;
0 34 3 headers Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 34 4 scheme Ljava/lang/String;
5 34 5 fd Landroid/content/res/AssetFileDescriptor;
6 22 6 resolver Landroid/content/ContentResolver;
Exception table:
from to target type
5 8 22 Class java.lang.SecurityException
11 19 22 Class java.lang.SecurityException
5 8 25 Class java.io.IOException
11 19 25 Class java.io.IOException
5 8 28 any
11 19 28 any
22 23 28 any
25 26 28 any
Exceptions:
throws java.io.IOException
Signature: (Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
context
uri
headers
public final void setDataSource(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/lang/String;Ljava/util/Map;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 2
ifnull 12
3: aload 2
invokeinterface java.util.Map.size:()I
anewarray java.lang.String
astore 3
4: aload 2
invokeinterface java.util.Map.size:()I
anewarray java.lang.String
astore 4
5: iconst_0
istore 5
start local 5 6: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: android.media.MediaExtractor java.lang.String java.util.Map java.lang.String[] java.lang.String[] int top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 8: aload 3
iload 5
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aastore
9: aload 4
iload 5
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
aastore
10: iinc 5 1
end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 5 12: StackMap locals: android.media.MediaExtractor java.lang.String java.util.Map java.lang.String[] java.lang.String[]
StackMap stack:
aload 0
13: aload 1
invokestatic android.media.MediaHTTPService.createHttpServiceBinderIfNecessary:(Ljava/lang/String;)Landroid/os/IBinder;
14: aload 1
15: aload 3
16: aload 4
17: invokevirtual android.media.MediaExtractor.nativeSetDataSource:(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/media/MediaExtractor;
0 19 1 path Ljava/lang/String;
0 19 2 headers Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 19 3 keys [Ljava/lang/String;
2 19 4 values [Ljava/lang/String;
6 12 5 i I
8 11 6 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
path
headers
private final native void nativeSetDataSource(android.os.IBinder, java.lang.String, java.lang.String[], java.lang.String[]);
descriptor: (Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
httpServiceBinder
path
keys
values
public final void setDataSource(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
1: aload 1
invokestatic android.media.MediaHTTPService.createHttpServiceBinderIfNecessary:(Ljava/lang/String;)Landroid/os/IBinder;
2: aload 1
3: aconst_null
4: aconst_null
5: invokevirtual android.media.MediaExtractor.nativeSetDataSource:(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/MediaExtractor;
0 7 1 path Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
public final void setDataSource(android.content.res.AssetFileDescriptor);
descriptor: (Landroid/content/res/AssetFileDescriptor;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokevirtual android.content.res.AssetFileDescriptor.getDeclaredLength:()J
lconst_0
lcmp
ifge 4
2: aload 0
aload 1
invokevirtual android.content.res.AssetFileDescriptor.getFileDescriptor:()Ljava/io/FileDescriptor;
invokevirtual android.media.MediaExtractor.setDataSource:(Ljava/io/FileDescriptor;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.content.res.AssetFileDescriptor.getFileDescriptor:()Ljava/io/FileDescriptor;
aload 1
invokevirtual android.content.res.AssetFileDescriptor.getStartOffset:()J
aload 1
invokevirtual android.content.res.AssetFileDescriptor.getDeclaredLength:()J
invokevirtual android.media.MediaExtractor.setDataSource:(Ljava/io/FileDescriptor;JJ)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/MediaExtractor;
0 6 1 afd Landroid/content/res/AssetFileDescriptor;
Exceptions:
throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException
MethodParameters:
Name Flags
afd
public final void setDataSource(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
lconst_0
ldc 576460752303423487
invokevirtual android.media.MediaExtractor.setDataSource:(Ljava/io/FileDescriptor;JJ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaExtractor;
0 2 1 fd Ljava/io/FileDescriptor;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
public final native void setDataSource(java.io.FileDescriptor, long, long);
descriptor: (Ljava/io/FileDescriptor;JJ)V
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
offset
length
public final void setMediaCas(android.media.MediaCas);
descriptor: (Landroid/media/MediaCas;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.media.MediaExtractor.mMediaCas:Landroid/media/MediaCas;
1: aload 0
aload 1
invokevirtual android.media.MediaCas.getBinder:()Landroid/os/IHwBinder;
invokevirtual android.media.MediaExtractor.nativeSetMediaCas:(Landroid/os/IHwBinder;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/MediaExtractor;
0 3 1 mediaCas Landroid/media/MediaCas;
MethodParameters:
Name Flags
mediaCas
private final native void nativeSetMediaCas(android.os.IHwBinder);
descriptor: (Landroid/os/IHwBinder;)V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
casBinder
private java.util.ArrayList<java.lang.Byte> toByteArray(byte[]);
descriptor: ([B)Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
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/MediaExtractor;
0 7 1 data [B
1 7 2 byteArray Ljava/util/ArrayList<Ljava/lang/Byte;>;
2 6 3 i I
Signature: ([B)Ljava/util/ArrayList<Ljava/lang/Byte;>;
MethodParameters:
Name Flags
data
public android.media.MediaExtractor$CasInfo getCasInfo(int);
descriptor: (I)Landroid/media/MediaExtractor$CasInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.media.MediaExtractor.getTrackFormatNative:(I)Ljava/util/Map;
astore 2
start local 2 1: aload 2
ldc "ca-system-id"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 11
2: aload 2
ldc "ca-system-id"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 0
getfield android.media.MediaExtractor.mMediaCas:Landroid/media/MediaCas;
ifnull 10
aload 2
ldc "ca-session-id"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 10
5: aload 2
ldc "ca-session-id"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 5
start local 5 6: aload 5
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
7: aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 6
start local 6 8: aload 5
aload 6
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
9: aload 0
getfield android.media.MediaExtractor.mMediaCas:Landroid/media/MediaCas;
aload 0
aload 6
invokevirtual android.media.MediaExtractor.toByteArray:([B)Ljava/util/ArrayList;
invokevirtual android.media.MediaCas.createFromSessionId:(Ljava/util/ArrayList;)Landroid/media/MediaCas$Session;
astore 4
end local 6 end local 5 10: StackMap locals: java.util.Map int android.media.MediaCas$Session
StackMap stack:
new android.media.MediaExtractor$CasInfo
dup
iload 3
aload 4
invokespecial android.media.MediaExtractor$CasInfo.<init>:(ILandroid/media/MediaCas$Session;)V
areturn
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/MediaExtractor;
0 12 1 index I
1 12 2 formatMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 11 3 systemId I
4 11 4 session Landroid/media/MediaCas$Session;
6 10 5 buf Ljava/nio/ByteBuffer;
8 10 6 sessionId [B
MethodParameters:
Name Flags
index
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaExtractor.native_finalize:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaExtractor;
public final native void release();
descriptor: ()V
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
public final native int getTrackCount();
descriptor: ()I
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
public android.media.DrmInitData getDrmInitData();
descriptor: ()Landroid/media/DrmInitData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaExtractor.getFileFormatNative:()Ljava/util/Map;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.util.Map
StackMap stack:
aload 1
ldc "pssh"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 14
4: aload 0
invokevirtual android.media.MediaExtractor.getPsshInfo:()Ljava/util/Map;
astore 2
start local 2 5: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
6: astore 3
start local 3 7: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: android.media.MediaExtractor java.util.Map java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 9: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.util.UUID
astore 6
start local 6 10: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
astore 7
start local 7 11: aload 3
aload 6
new android.media.DrmInitData$SchemeInitData
dup
ldc "cenc"
aload 7
invokespecial android.media.DrmInitData$SchemeInitData.<init>:(Ljava/lang/String;[B)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 end local 4 12: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
13: new android.media.MediaExtractor$1
dup
aload 0
aload 3
invokespecial android.media.MediaExtractor$1.<init>:(Landroid/media/MediaExtractor;Ljava/util/Map;)V
areturn
end local 3 end local 2 14: StackMap locals: android.media.MediaExtractor java.util.Map
StackMap stack:
aload 0
invokevirtual android.media.MediaExtractor.getTrackCount:()I
istore 2
start local 2 15: iconst_0
istore 3
start local 3 16: goto 26
17: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual android.media.MediaExtractor.getTrackFormatNative:(I)Ljava/util/Map;
astore 4
start local 4 18: aload 4
ldc "crypto-key"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 20
19: goto 25
20: StackMap locals: java.util.Map
StackMap stack:
aload 4
ldc "crypto-key"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 5
start local 5 21: aload 5
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
22: aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 6
start local 6 23: aload 5
aload 6
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
24: new android.media.MediaExtractor$2
dup
aload 0
aload 6
invokespecial android.media.MediaExtractor$2.<init>:(Landroid/media/MediaExtractor;[B)V
areturn
end local 6 end local 5 end local 4 25: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
26: iload 3
iload 2
if_icmplt 17
end local 3 end local 2 27: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Landroid/media/MediaExtractor;
1 28 1 formatMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
5 14 2 psshMap Ljava/util/Map<Ljava/util/UUID;[B>;
7 14 3 initDataMap Ljava/util/Map<Ljava/util/UUID;Landroid/media/DrmInitData$SchemeInitData;>;
9 12 4 e Ljava/util/Map$Entry<Ljava/util/UUID;[B>;
10 12 6 uuid Ljava/util/UUID;
11 12 7 data [B
15 27 2 numTracks I
16 27 3 i I
18 25 4 trackFormatMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
21 25 5 buf Ljava/nio/ByteBuffer;
23 25 6 data [B
public java.util.List<android.media.AudioPresentation> getAudioPresentations(int);
descriptor: (I)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaExtractor;
0 1 1 trackIndex I
Signature: (I)Ljava/util/List<Landroid/media/AudioPresentation;>;
MethodParameters:
Name Flags
trackIndex
public java.util.Map<java.util.UUID, byte[]> getPsshInfo();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual android.media.MediaExtractor.getFileFormatNative:()Ljava/util/Map;
astore 2
start local 2 2: aload 2
ifnull 19
aload 2
ldc "pssh"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 19
3: aload 2
ldc "pssh"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 3
start local 3 4: aload 3
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
5: aload 3
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
6: aload 2
ldc "pssh"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
7: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
8: goto 18
9: StackMap locals: java.util.Map java.util.Map java.nio.ByteBuffer
StackMap stack:
aload 3
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
10: aload 3
invokevirtual java.nio.ByteBuffer.getLong:()J
lstore 4
start local 4 11: aload 3
invokevirtual java.nio.ByteBuffer.getLong:()J
lstore 6
start local 6 12: new java.util.UUID
dup
lload 4
lload 6
invokespecial java.util.UUID.<init>:(JJ)V
astore 8
start local 8 13: aload 3
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
14: aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 9
start local 9 15: iload 9
newarray 8
astore 10
start local 10 16: aload 3
aload 10
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
17: aload 1
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 6 end local 4 18: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
ifgt 9
end local 3 19: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/media/MediaExtractor;
1 20 1 psshMap Ljava/util/Map<Ljava/util/UUID;[B>;
2 20 2 formatMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
4 19 3 rawpssh Ljava/nio/ByteBuffer;
11 18 4 msb J
12 18 6 lsb J
13 18 8 uuid Ljava/util/UUID;
15 18 9 datalen I
16 18 10 psshdata [B
Signature: ()Ljava/util/Map<Ljava/util/UUID;[B>;
private native java.util.Map<java.lang.String, java.lang.Object> getFileFormatNative();
descriptor: ()Ljava/util/Map;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
public android.media.MediaFormat getTrackFormat(int);
descriptor: (I)Landroid/media/MediaFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new android.media.MediaFormat
dup
aload 0
iload 1
invokevirtual android.media.MediaExtractor.getTrackFormatNative:(I)Ljava/util/Map;
invokespecial android.media.MediaFormat.<init>:(Ljava/util/Map;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaExtractor;
0 1 1 index I
MethodParameters:
Name Flags
index
private native java.util.Map<java.lang.String, java.lang.Object> getTrackFormatNative(int);
descriptor: (I)Ljava/util/Map;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Signature: (I)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
index
public native void selectTrack(int);
descriptor: (I)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
index
public native void unselectTrack(int);
descriptor: (I)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
index
public native void seekTo(long, int);
descriptor: (JI)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
timeUs
mode
public native boolean advance();
descriptor: ()Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native int readSampleData(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
byteBuf
offset
public native int getSampleTrackIndex();
descriptor: ()I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native long getSampleTime();
descriptor: ()J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native long getSampleSize();
descriptor: ()J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native int getSampleFlags();
descriptor: ()I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native boolean getSampleCryptoInfo(android.media.MediaCodec$CryptoInfo);
descriptor: (Landroid/media/MediaCodec$CryptoInfo;)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
info
public native long getCachedDuration();
descriptor: ()J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native boolean hasCacheReachedEndOfStream();
descriptor: ()Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public android.os.PersistableBundle getMetrics();
descriptor: ()Landroid/os/PersistableBundle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaExtractor.native_getMetrics:()Landroid/os/PersistableBundle;
astore 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaExtractor;
1 2 1 bundle Landroid/os/PersistableBundle;
private native android.os.PersistableBundle native_getMetrics();
descriptor: ()Landroid/os/PersistableBundle;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private static final native void native_init();
descriptor: ()V
flags: (0x011a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_NATIVE
private final native void native_setup();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_finalize();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
}
SourceFile: "MediaExtractor.java"
NestMembers:
android.media.MediaExtractor$1 android.media.MediaExtractor$2 android.media.MediaExtractor$CasInfo android.media.MediaExtractor$MetricsConstants android.media.MediaExtractor$SampleFlag android.media.MediaExtractor$SeekMode
InnerClasses:
public final SchemeInitData = android.media.DrmInitData$SchemeInitData of android.media.DrmInitData
public final Session = android.media.MediaCas$Session of android.media.MediaCas
public final CryptoInfo = android.media.MediaCodec$CryptoInfo of android.media.MediaCodec
android.media.MediaExtractor$1
android.media.MediaExtractor$2
public final CasInfo = android.media.MediaExtractor$CasInfo of android.media.MediaExtractor
public final MetricsConstants = android.media.MediaExtractor$MetricsConstants of android.media.MediaExtractor
public abstract SampleFlag = android.media.MediaExtractor$SampleFlag of android.media.MediaExtractor
public abstract SeekMode = android.media.MediaExtractor$SeekMode of android.media.MediaExtractor
public abstract Entry = java.util.Map$Entry of java.util.Map