public class android.media.AudioTrack extends android.media.PlayerBase implements android.media.AudioRouting, android.media.VolumeAutomation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.media.AudioTrack
super_class: android.media.PlayerBase
{
private static final float GAIN_MIN;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0
private static final float GAIN_MAX;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0
public static final int CHANNEL_COUNT_MAX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int PLAYSTATE_STOPPED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int PLAYSTATE_PAUSED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int PLAYSTATE_PLAYING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int MODE_STATIC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int MODE_STREAM;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int STATE_UNINITIALIZED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int STATE_INITIALIZED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int STATE_NO_STATIC_DATA;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int SUCCESS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int ERROR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int ERROR_BAD_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2
public static final int ERROR_INVALID_OPERATION;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -3
public static final int ERROR_DEAD_OBJECT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -6
public static final int ERROR_WOULD_BLOCK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -7
private static final int ERROR_NATIVESETUP_AUDIOSYSTEM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -16
private static final int ERROR_NATIVESETUP_INVALIDCHANNELMASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -17
private static final int ERROR_NATIVESETUP_INVALIDFORMAT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -18
private static final int ERROR_NATIVESETUP_INVALIDSTREAMTYPE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -19
private static final int ERROR_NATIVESETUP_NATIVEINITFAILED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -20
private static final int NATIVE_EVENT_MARKER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int NATIVE_EVENT_NEW_POS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int NATIVE_EVENT_MORE_DATA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int NATIVE_EVENT_NEW_IAUDIOTRACK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int NATIVE_EVENT_STREAM_END;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "android.media.AudioTrack"
public static final int WRITE_BLOCKING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int WRITE_NON_BLOCKING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int PERFORMANCE_MODE_NONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int PERFORMANCE_MODE_LOW_LATENCY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int PERFORMANCE_MODE_POWER_SAVING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int AUDIO_OUTPUT_FLAG_FAST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int AUDIO_OUTPUT_FLAG_DEEP_BUFFER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final float HEADER_V2_SIZE_BYTES;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20.0
private int mState;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mPlayState;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object mPlayStateLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mNativeBufferSizeInBytes;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mNativeBufferSizeInFrames;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.media.AudioTrack$NativePositionEventHandlerDelegate mEventHandlerDelegate;
descriptor: Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;
flags: (0x0002) ACC_PRIVATE
private final android.os.Looper mInitializationLooper;
descriptor: Landroid/os/Looper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int mSampleRate;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mChannelCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mChannelMask;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mStreamType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mDataLoadMode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mChannelConfiguration;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mChannelIndexMask;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mAudioFormat;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mSessionId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer mAvSyncHeader;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private int mAvSyncBytesRemaining;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mOffset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected long mNativeTrackInJavaObj;
descriptor: J
flags: (0x0004) ACC_PROTECTED
private long mJniData;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static final int SUPPORTED_OUT_CHANNELS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7420
private android.media.AudioDeviceInfo mPreferredDevice;
descriptor: Landroid/media/AudioDeviceInfo;
flags: (0x0002) ACC_PRIVATE
private android.util.ArrayMap<android.media.AudioRouting$OnRoutingChangedListener, android.media.NativeRoutingEventHandlerDelegate> mRoutingChangeListeners;
descriptor: Landroid/util/ArrayMap;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/ArrayMap<Landroid/media/AudioRouting$OnRoutingChangedListener;Landroid/media/NativeRoutingEventHandlerDelegate;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mRoutingChangeListeners")
private java.util.concurrent.Executor mStreamEventExec;
descriptor: Ljava/util/concurrent/Executor;
flags: (0x0002) ACC_PRIVATE
private android.media.AudioTrack$StreamEventCallback mStreamEventCb;
descriptor: Landroid/media/AudioTrack$StreamEventCallback;
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object mStreamEventCbLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic android.media.AudioTrack.native_get_FCC_8:()I
putstatic android.media.AudioTrack.CHANNEL_COUNT_MAX:I
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, int, int, int, int, int);
descriptor: (IIIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iload 1
iload 2
iload 3
iload 4
1: iload 5
iload 6
iconst_0
invokespecial android.media.AudioTrack.<init>:(IIIIIII)V
2: return
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 3 0 this Landroid/media/AudioTrack;
0 3 1 streamType I
0 3 2 sampleRateInHz I
0 3 3 channelConfig I
0 3 4 audioFormat I
0 3 5 bufferSizeInBytes I
0 3 6 mode I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
streamType
sampleRateInHz
channelConfig
audioFormat
bufferSizeInBytes
mode
public void <init>(int, int, int, int, int, int, int);
descriptor: (IIIIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
new android.media.AudioAttributes$Builder
dup
invokespecial android.media.AudioAttributes$Builder.<init>:()V
1: iload 1
invokevirtual android.media.AudioAttributes$Builder.setLegacyStreamType:(I)Landroid/media/AudioAttributes$Builder;
2: invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
3: new android.media.AudioFormat$Builder
dup
invokespecial android.media.AudioFormat$Builder.<init>:()V
4: iload 3
invokevirtual android.media.AudioFormat$Builder.setChannelMask:(I)Landroid/media/AudioFormat$Builder;
5: iload 4
invokevirtual android.media.AudioFormat$Builder.setEncoding:(I)Landroid/media/AudioFormat$Builder;
6: iload 2
invokevirtual android.media.AudioFormat$Builder.setSampleRate:(I)Landroid/media/AudioFormat$Builder;
7: invokevirtual android.media.AudioFormat$Builder.build:()Landroid/media/AudioFormat;
8: iload 5
9: iload 6
iload 7
invokespecial android.media.AudioTrack.<init>:(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;III)V
10: iload 1
ldc "AudioTrack"
ldc "AudioTrack()"
invokestatic android.media.AudioTrack.deprecateStreamTypeForPlayback:(ILjava/lang/String;Ljava/lang/String;)V
11: return
end local 7 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 12 0 this Landroid/media/AudioTrack;
0 12 1 streamType I
0 12 2 sampleRateInHz I
0 12 3 channelConfig I
0 12 4 audioFormat I
0 12 5 bufferSizeInBytes I
0 12 6 mode I
0 12 7 sessionId I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
streamType
sampleRateInHz
channelConfig
audioFormat
bufferSizeInBytes
mode
sessionId
public void <init>(android.media.AudioAttributes, android.media.AudioFormat, int, int, int);
descriptor: (Landroid/media/AudioAttributes;Landroid/media/AudioFormat;III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
iconst_0
invokespecial android.media.AudioTrack.<init>:(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;IIIZ)V
1: 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 2 0 this Landroid/media/AudioTrack;
0 2 1 attributes Landroid/media/AudioAttributes;
0 2 2 format Landroid/media/AudioFormat;
0 2 3 bufferSizeInBytes I
0 2 4 mode I
0 2 5 sessionId I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
attributes
format
bufferSizeInBytes
mode
sessionId
private void <init>(android.media.AudioAttributes, android.media.AudioFormat, int, int, int, boolean);
descriptor: (Landroid/media/AudioAttributes;Landroid/media/AudioFormat;IIIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
iconst_1
invokespecial android.media.PlayerBase.<init>:(Landroid/media/AudioAttributes;I)V
1: aload 0
iconst_0
putfield android.media.AudioTrack.mState:I
2: aload 0
iconst_1
putfield android.media.AudioTrack.mPlayState:I
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.media.AudioTrack.mPlayStateLock:Ljava/lang/Object;
4: aload 0
iconst_0
putfield android.media.AudioTrack.mNativeBufferSizeInBytes:I
5: aload 0
iconst_0
putfield android.media.AudioTrack.mNativeBufferSizeInFrames:I
6: aload 0
iconst_1
putfield android.media.AudioTrack.mChannelCount:I
7: aload 0
iconst_4
putfield android.media.AudioTrack.mChannelMask:I
8: aload 0
iconst_3
putfield android.media.AudioTrack.mStreamType:I
9: aload 0
iconst_1
putfield android.media.AudioTrack.mDataLoadMode:I
10: aload 0
iconst_4
putfield android.media.AudioTrack.mChannelConfiguration:I
11: aload 0
iconst_0
putfield android.media.AudioTrack.mChannelIndexMask:I
12: aload 0
iconst_0
putfield android.media.AudioTrack.mSessionId:I
13: aload 0
aconst_null
putfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
14: aload 0
iconst_0
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
15: aload 0
iconst_0
putfield android.media.AudioTrack.mOffset:I
16: aload 0
aconst_null
putfield android.media.AudioTrack.mPreferredDevice:Landroid/media/AudioDeviceInfo;
17: aload 0
new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
putfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
18: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.media.AudioTrack.mStreamEventCbLock:Ljava/lang/Object;
19: aload 2
ifnonnull 21
20: new java.lang.IllegalArgumentException
dup
ldc "Illegal null AudioFormat"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: android.media.AudioTrack android.media.AudioAttributes android.media.AudioFormat int int int int
StackMap stack:
aload 0
getfield android.media.AudioTrack.mAttributes:Landroid/media/AudioAttributes;
aload 2
iload 3
iload 4
invokestatic android.media.AudioTrack.shouldEnablePowerSaving:(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)Z
ifeq 30
22: aload 0
new android.media.AudioAttributes$Builder
dup
aload 0
getfield android.media.AudioTrack.mAttributes:Landroid/media/AudioAttributes;
invokespecial android.media.AudioAttributes$Builder.<init>:(Landroid/media/AudioAttributes;)V
23: aload 0
getfield android.media.AudioTrack.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getAllFlags:()I
24: sipush 512
25: ior
26: sipush -257
27: iand
invokevirtual android.media.AudioAttributes$Builder.replaceFlags:(I)Landroid/media/AudioAttributes$Builder;
28: invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
29: putfield android.media.AudioTrack.mAttributes:Landroid/media/AudioAttributes;
30: StackMap locals:
StackMap stack:
invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
dup
astore 7
start local 7 31: ifnonnull 33
32: invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
astore 7
33: StackMap locals: android.os.Looper
StackMap stack:
aload 2
invokevirtual android.media.AudioFormat.getSampleRate:()I
istore 8
start local 8 34: iload 8
ifne 36
35: iconst_0
istore 8
36: StackMap locals: int
StackMap stack:
iconst_0
istore 9
start local 9 37: aload 2
invokevirtual android.media.AudioFormat.getPropertySetMask:()I
38: bipush 8
39: iand
ifeq 41
40: aload 2
invokevirtual android.media.AudioFormat.getChannelIndexMask:()I
istore 9
41: StackMap locals: int
StackMap stack:
iconst_0
istore 10
start local 10 42: aload 2
invokevirtual android.media.AudioFormat.getPropertySetMask:()I
43: iconst_4
44: iand
ifeq 47
45: aload 2
invokevirtual android.media.AudioFormat.getChannelMask:()I
istore 10
46: goto 49
StackMap locals: int
StackMap stack:
47: iload 9
ifne 49
48: bipush 12
istore 10
49: StackMap locals:
StackMap stack:
iconst_1
istore 11
start local 11 50: aload 2
invokevirtual android.media.AudioFormat.getPropertySetMask:()I
iconst_1
iand
ifeq 52
51: aload 2
invokevirtual android.media.AudioFormat.getEncoding:()I
istore 11
52: StackMap locals: int
StackMap stack:
aload 0
iload 8
iload 10
iload 9
iload 11
iload 4
invokevirtual android.media.AudioTrack.audioParamCheck:(IIIII)V
53: aload 0
iconst_m1
putfield android.media.AudioTrack.mStreamType:I
54: aload 0
iload 3
invokevirtual android.media.AudioTrack.audioBuffSizeCheck:(I)V
55: aload 0
aload 7
putfield android.media.AudioTrack.mInitializationLooper:Landroid/os/Looper;
56: iload 5
ifge 58
57: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid audio session ID: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
58: StackMap locals:
StackMap stack:
iconst_1
newarray 10
dup
iconst_0
aload 0
getfield android.media.AudioTrack.mSampleRate:I
iastore
astore 12
start local 12 59: iconst_1
newarray 10
astore 13
start local 13 60: aload 13
iconst_0
iload 5
iastore
61: aload 0
new java.lang.ref.WeakReference
dup
aload 0
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
aload 0
getfield android.media.AudioTrack.mAttributes:Landroid/media/AudioAttributes;
62: aload 12
aload 0
getfield android.media.AudioTrack.mChannelMask:I
aload 0
getfield android.media.AudioTrack.mChannelIndexMask:I
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
63: aload 0
getfield android.media.AudioTrack.mNativeBufferSizeInBytes:I
aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
aload 13
lconst_0
64: iload 6
65: invokevirtual android.media.AudioTrack.native_setup:(Ljava/lang/Object;Ljava/lang/Object;[IIIIII[IJZ)I
istore 14
start local 14 66: iload 14
ifeq 69
67: new java.lang.StringBuilder
dup
ldc "Error code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 14
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " when initializing AudioTrack."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
68: return
69: StackMap locals: int[] int[] int
StackMap stack:
aload 0
aload 12
iconst_0
iaload
putfield android.media.AudioTrack.mSampleRate:I
70: aload 0
aload 13
iconst_0
iaload
putfield android.media.AudioTrack.mSessionId:I
71: aload 0
getfield android.media.AudioTrack.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getFlags:()I
bipush 16
iand
ifeq 77
72: aload 0
getfield android.media.AudioTrack.mAudioFormat:I
invokestatic android.media.AudioFormat.isEncodingLinearFrames:(I)Z
ifeq 75
73: aload 0
getfield android.media.AudioTrack.mChannelCount:I
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
invokestatic android.media.AudioFormat.getBytesPerSample:(I)I
imul
istore 15
start local 15 74: goto 76
end local 15 75: StackMap locals:
StackMap stack:
iconst_1
istore 15
start local 15 76: StackMap locals: int
StackMap stack:
aload 0
ldc 20.0
iload 15
i2f
fdiv
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
iload 15
imul
putfield android.media.AudioTrack.mOffset:I
end local 15 77: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
ifne 80
78: aload 0
iconst_2
putfield android.media.AudioTrack.mState:I
79: goto 81
80: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.media.AudioTrack.mState:I
81: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.AudioTrack.baseRegisterPlayer:()V
82: return
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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 83 0 this Landroid/media/AudioTrack;
0 83 1 attributes Landroid/media/AudioAttributes;
0 83 2 format Landroid/media/AudioFormat;
0 83 3 bufferSizeInBytes I
0 83 4 mode I
0 83 5 sessionId I
0 83 6 offload Z
31 83 7 looper Landroid/os/Looper;
34 83 8 rate I
37 83 9 channelIndexMask I
42 83 10 channelMask I
50 83 11 encoding I
59 83 12 sampleRate [I
60 83 13 session [I
66 83 14 initResult I
74 75 15 frameSizeInBytes I
76 77 15 frameSizeInBytes I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
attributes
format
bufferSizeInBytes
mode
sessionId
offload
void <init>(long);
descriptor: (J)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
new android.media.AudioAttributes$Builder
dup
invokespecial android.media.AudioAttributes$Builder.<init>:()V
invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
1: iconst_1
invokespecial android.media.PlayerBase.<init>:(Landroid/media/AudioAttributes;I)V
2: aload 0
iconst_0
putfield android.media.AudioTrack.mState:I
3: aload 0
iconst_1
putfield android.media.AudioTrack.mPlayState:I
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.media.AudioTrack.mPlayStateLock:Ljava/lang/Object;
5: aload 0
iconst_0
putfield android.media.AudioTrack.mNativeBufferSizeInBytes:I
6: aload 0
iconst_0
putfield android.media.AudioTrack.mNativeBufferSizeInFrames:I
7: aload 0
iconst_1
putfield android.media.AudioTrack.mChannelCount:I
8: aload 0
iconst_4
putfield android.media.AudioTrack.mChannelMask:I
9: aload 0
iconst_3
putfield android.media.AudioTrack.mStreamType:I
10: aload 0
iconst_1
putfield android.media.AudioTrack.mDataLoadMode:I
11: aload 0
iconst_4
putfield android.media.AudioTrack.mChannelConfiguration:I
12: aload 0
iconst_0
putfield android.media.AudioTrack.mChannelIndexMask:I
13: aload 0
iconst_0
putfield android.media.AudioTrack.mSessionId:I
14: aload 0
aconst_null
putfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
15: aload 0
iconst_0
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
16: aload 0
iconst_0
putfield android.media.AudioTrack.mOffset:I
17: aload 0
aconst_null
putfield android.media.AudioTrack.mPreferredDevice:Landroid/media/AudioDeviceInfo;
18: aload 0
new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
putfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
19: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.media.AudioTrack.mStreamEventCbLock:Ljava/lang/Object;
20: aload 0
lconst_0
putfield android.media.AudioTrack.mNativeTrackInJavaObj:J
21: aload 0
lconst_0
putfield android.media.AudioTrack.mJniData:J
22: invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
dup
astore 3
start local 3 23: ifnonnull 25
24: invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
astore 3
25: StackMap locals: android.media.AudioTrack long android.os.Looper
StackMap stack:
aload 0
aload 3
putfield android.media.AudioTrack.mInitializationLooper:Landroid/os/Looper;
26: lload 1
lconst_0
lcmp
ifeq 30
27: aload 0
invokevirtual android.media.AudioTrack.baseRegisterPlayer:()V
28: aload 0
lload 1
invokevirtual android.media.AudioTrack.deferred_connect:(J)V
29: goto 31
30: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.media.AudioTrack.mState:I
31: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Landroid/media/AudioTrack;
0 32 1 nativeTrackInJavaObj J
23 32 3 looper Landroid/os/Looper;
MethodParameters:
Name Flags
nativeTrackInJavaObj
void deferred_connect(long);
descriptor: (J)V
flags: (0x0000)
Code:
stack=13, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mState:I
iconst_1
if_icmpeq 20
1: iconst_1
newarray 10
astore 3
start local 3 2: iconst_1
newarray 10
astore 4
start local 4 3: aload 0
new java.lang.ref.WeakReference
dup
aload 0
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
4: aconst_null
5: aload 4
6: iconst_0
7: iconst_0
8: iconst_0
9: iconst_0
10: iconst_0
11: aload 3
12: lload 1
13: iconst_0
14: invokevirtual android.media.AudioTrack.native_setup:(Ljava/lang/Object;Ljava/lang/Object;[IIIIII[IJZ)I
istore 5
start local 5 15: iload 5
ifeq 18
16: new java.lang.StringBuilder
dup
ldc "Error code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " when initializing AudioTrack."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
17: return
18: StackMap locals: int[] int[] int
StackMap stack:
aload 0
aload 3
iconst_0
iaload
putfield android.media.AudioTrack.mSessionId:I
19: aload 0
iconst_1
putfield android.media.AudioTrack.mState:I
end local 5 end local 4 end local 3 20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Landroid/media/AudioTrack;
0 21 1 nativeTrackInJavaObj J
2 20 3 session [I
3 20 4 rates [I
15 20 5 initResult I
MethodParameters:
Name Flags
nativeTrackInJavaObj
private static boolean shouldEnablePowerSaving(android.media.AudioAttributes, android.media.AudioFormat, int, int);
descriptor: (Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ifnull 7
1: aload 0
invokevirtual android.media.AudioAttributes.getAllFlags:()I
ifne 6
2: aload 0
invokevirtual android.media.AudioAttributes.getUsage:()I
iconst_1
if_icmpne 6
3: aload 0
invokevirtual android.media.AudioAttributes.getContentType:()I
ifeq 7
4: aload 0
invokevirtual android.media.AudioAttributes.getContentType:()I
iconst_2
if_icmpeq 7
5: aload 0
invokevirtual android.media.AudioAttributes.getContentType:()I
iconst_3
if_icmpeq 7
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 1
ifnull 12
8: aload 1
invokevirtual android.media.AudioFormat.getSampleRate:()I
ifeq 12
9: aload 1
invokevirtual android.media.AudioFormat.getEncoding:()I
invokestatic android.media.AudioFormat.isEncodingLinearPcm:(I)Z
ifeq 12
10: aload 1
invokevirtual android.media.AudioFormat.getEncoding:()I
invokestatic android.media.AudioFormat.isValidEncoding:(I)Z
ifeq 12
11: aload 1
invokevirtual android.media.AudioFormat.getChannelCount:()I
iconst_1
if_icmpge 13
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpeq 15
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
iload 2
ifeq 28
16: ldc 100
17: aload 1
invokevirtual android.media.AudioFormat.getChannelCount:()I
i2l
18: lmul
19: aload 1
invokevirtual android.media.AudioFormat.getEncoding:()I
invokestatic android.media.AudioFormat.getBytesPerSample:(I)I
i2l
20: lmul
21: aload 1
invokevirtual android.media.AudioFormat.getSampleRate:()I
i2l
22: lmul
23: ldc 1000
24: ldiv
25: lstore 4
start local 4 26: iload 2
i2l
lload 4
lcmp
ifge 28
27: iconst_0
ireturn
end local 4 28: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 attributes Landroid/media/AudioAttributes;
0 29 1 format Landroid/media/AudioFormat;
0 29 2 bufferSizeInBytes I
0 29 3 mode I
26 28 4 bufferTargetSize J
MethodParameters:
Name Flags
attributes
format
bufferSizeInBytes
mode
private void audioParamCheck(int, int, int, int, int);
descriptor: (IIIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
sipush 4000
if_icmplt 2
1: iload 1
ldc 192000
if_icmple 6
2: StackMap locals:
StackMap stack:
iload 1
ifeq 6
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: ldc "Hz is not a supported sample rate."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.AudioTrack.mSampleRate:I
7: iload 4
bipush 13
if_icmpne 12
8: iload 2
bipush 12
if_icmpeq 12
9: new java.lang.IllegalArgumentException
dup
10: ldc "ENCODING_IEC61937 must be configured as CHANNEL_OUT_STEREO"
11: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield android.media.AudioTrack.mChannelConfiguration:I
13: iload 2
tableswitch { // 1 - 12
1: 14
2: 14
3: 17
4: 14
5: 20
6: 20
7: 20
8: 20
9: 20
10: 20
11: 20
12: 17
default: 20
}
14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.media.AudioTrack.mChannelCount:I
15: aload 0
iconst_4
putfield android.media.AudioTrack.mChannelMask:I
16: goto 27
17: StackMap locals:
StackMap stack:
aload 0
iconst_2
putfield android.media.AudioTrack.mChannelCount:I
18: aload 0
bipush 12
putfield android.media.AudioTrack.mChannelMask:I
19: goto 27
20: StackMap locals:
StackMap stack:
iload 2
ifne 23
iload 3
ifeq 23
21: aload 0
iconst_0
putfield android.media.AudioTrack.mChannelCount:I
22: goto 27
23: StackMap locals:
StackMap stack:
iload 2
invokestatic android.media.AudioTrack.isMultichannelConfigSupported:(I)Z
ifne 25
24: new java.lang.IllegalArgumentException
dup
ldc "Unsupported channel configuration."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield android.media.AudioTrack.mChannelMask:I
26: aload 0
iload 2
invokestatic android.media.AudioFormat.channelCountFromOutChannelMask:(I)I
putfield android.media.AudioTrack.mChannelCount:I
27: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield android.media.AudioTrack.mChannelIndexMask:I
28: aload 0
getfield android.media.AudioTrack.mChannelIndexMask:I
ifeq 40
29: iconst_1
getstatic android.media.AudioTrack.CHANNEL_COUNT_MAX:I
ishl
iconst_1
isub
istore 6
start local 6 30: iload 3
iload 6
iconst_m1
ixor
iand
ifeq 34
31: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported channel index configuration "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
32: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals: int
StackMap stack:
iload 3
invokestatic java.lang.Integer.bitCount:(I)I
istore 7
start local 7 35: aload 0
getfield android.media.AudioTrack.mChannelCount:I
ifne 38
36: aload 0
iload 7
putfield android.media.AudioTrack.mChannelCount:I
37: goto 40
StackMap locals: int
StackMap stack:
38: aload 0
getfield android.media.AudioTrack.mChannelCount:I
iload 7
if_icmpeq 40
39: new java.lang.IllegalArgumentException
dup
ldc "Channel count must match"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 40: StackMap locals:
StackMap stack:
iload 4
iconst_1
if_icmpne 42
41: iconst_2
istore 4
42: StackMap locals:
StackMap stack:
iload 4
invokestatic android.media.AudioFormat.isPublicEncoding:(I)Z
ifne 44
43: new java.lang.IllegalArgumentException
dup
ldc "Unsupported audio encoding."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield android.media.AudioTrack.mAudioFormat:I
45: iload 5
iconst_1
if_icmpeq 46
iload 5
ifne 47
46: StackMap locals:
StackMap stack:
iload 5
iconst_1
if_icmpeq 48
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
invokestatic android.media.AudioFormat.isEncodingLinearPcm:(I)Z
ifne 48
47: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid mode."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals:
StackMap stack:
aload 0
iload 5
putfield android.media.AudioTrack.mDataLoadMode:I
49: 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 50 0 this Landroid/media/AudioTrack;
0 50 1 sampleRateInHz I
0 50 2 channelConfig I
0 50 3 channelIndexMask I
0 50 4 audioFormat I
0 50 5 mode I
30 40 6 indexMask I
35 40 7 channelIndexCount I
MethodParameters:
Name Flags
sampleRateInHz
channelConfig
channelIndexMask
audioFormat
mode
private static boolean isMultichannelConfigSupported(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: iload 0
sipush 7420
iand
iload 0
if_icmpeq 3
1: ldc "Channel configuration features unsupported channels"
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 0
invokestatic android.media.AudioFormat.channelCountFromOutChannelMask:(I)I
istore 1
start local 1 4: iload 1
getstatic android.media.AudioTrack.CHANNEL_COUNT_MAX:I
if_icmple 9
5: new java.lang.StringBuilder
dup
ldc "Channel configuration contains too many channels "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic android.media.AudioTrack.CHANNEL_COUNT_MAX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
8: iconst_0
ireturn
9: StackMap locals: int
StackMap stack:
iload 0
bipush 12
iand
bipush 12
if_icmpeq 12
10: ldc "Front channels must be present in multichannel configurations"
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iload 0
sipush 192
iand
ifeq 16
13: iload 0
sipush 192
iand
sipush 192
if_icmpeq 16
14: ldc "Rear channels can't be used independently"
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
iload 0
sipush 6144
iand
ifeq 20
17: iload 0
sipush 6144
iand
sipush 6144
if_icmpeq 20
18: ldc "Side channels can't be used independently"
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 channelConfig I
4 21 1 channelCount I
MethodParameters:
Name Flags
channelConfig
private void audioBuffSizeCheck(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mAudioFormat:I
invokestatic android.media.AudioFormat.isEncodingLinearFrames:(I)Z
ifeq 3
1: aload 0
getfield android.media.AudioTrack.mChannelCount:I
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
invokestatic android.media.AudioFormat.getBytesPerSample:(I)I
imul
istore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 4: StackMap locals: int
StackMap stack:
iload 1
iload 2
irem
ifne 5
iload 1
iconst_1
if_icmpge 6
5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid audio buffer size."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.AudioTrack.mNativeBufferSizeInBytes:I
7: aload 0
iload 1
iload 2
idiv
putfield android.media.AudioTrack.mNativeBufferSizeInFrames:I
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/AudioTrack;
0 9 1 audioBufferSize I
2 3 2 frameSizeInBytes I
4 9 2 frameSizeInBytes I
MethodParameters:
Name Flags
audioBufferSize
public void release();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.stop:()V
1: goto 3
StackMap locals:
StackMap stack: java.lang.IllegalStateException
2: pop
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.AudioTrack.baseRelease:()V
4: aload 0
invokevirtual android.media.AudioTrack.native_release:()V
5: aload 0
iconst_0
putfield android.media.AudioTrack.mState:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/AudioTrack;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalStateException
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.AudioTrack.baseRelease:()V
1: aload 0
invokevirtual android.media.AudioTrack.native_finalize:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
public static float getMinVolume();
descriptor: ()F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: fconst_0
freturn
LocalVariableTable:
Start End Slot Name Signature
public static float getMaxVolume();
descriptor: ()F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: fconst_1
freturn
LocalVariableTable:
Start End Slot Name Signature
public int getSampleRate();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mSampleRate:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getPlaybackRate();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_playback_rate:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public android.media.PlaybackParams getPlaybackParams();
descriptor: ()Landroid/media/PlaybackParams;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_playback_params:()Landroid/media/PlaybackParams;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getAudioFormat();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mAudioFormat:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getStreamType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mStreamType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getChannelConfiguration();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mChannelConfiguration:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public android.media.AudioFormat getFormat();
descriptor: ()Landroid/media/AudioFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new android.media.AudioFormat$Builder
dup
invokespecial android.media.AudioFormat$Builder.<init>:()V
1: aload 0
getfield android.media.AudioTrack.mSampleRate:I
invokevirtual android.media.AudioFormat$Builder.setSampleRate:(I)Landroid/media/AudioFormat$Builder;
2: aload 0
getfield android.media.AudioTrack.mAudioFormat:I
invokevirtual android.media.AudioFormat$Builder.setEncoding:(I)Landroid/media/AudioFormat$Builder;
3: astore 1
start local 1 4: aload 0
getfield android.media.AudioTrack.mChannelConfiguration:I
ifeq 6
5: aload 1
aload 0
getfield android.media.AudioTrack.mChannelConfiguration:I
invokevirtual android.media.AudioFormat$Builder.setChannelMask:(I)Landroid/media/AudioFormat$Builder;
pop
6: StackMap locals: android.media.AudioFormat$Builder
StackMap stack:
aload 0
getfield android.media.AudioTrack.mChannelIndexMask:I
ifeq 8
7: aload 1
aload 0
getfield android.media.AudioTrack.mChannelIndexMask:I
invokevirtual android.media.AudioFormat$Builder.setChannelIndexMask:(I)Landroid/media/AudioFormat$Builder;
pop
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.media.AudioFormat$Builder.build:()Landroid/media/AudioFormat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/AudioTrack;
4 9 1 builder Landroid/media/AudioFormat$Builder;
public int getChannelCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mChannelCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getState();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mState:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getPlayState();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mPlayStateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield android.media.AudioTrack.mPlayState:I
aload 1
monitorexit
2: ireturn
3: StackMap locals: android.media.AudioTrack java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public int getBufferSizeInFrames();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_buffer_size_frames:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int setBufferSizeInFrames(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
ifeq 1
aload 0
getfield android.media.AudioTrack.mState:I
ifne 2
1: StackMap locals:
StackMap stack:
bipush -3
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ifge 4
3: bipush -2
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.media.AudioTrack.native_set_buffer_size_frames:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack;
0 5 1 bufferSizeInFrames I
MethodParameters:
Name Flags
bufferSizeInFrames
public int getBufferCapacityInFrames();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_buffer_capacity_frames:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
protected int getNativeFrameCount();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_buffer_capacity_frames:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public int getNotificationMarkerPosition();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_marker_pos:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getPositionNotificationPeriod();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_pos_update_period:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getPlaybackHeadPosition();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_position:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getLatency();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_latency:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getUnderrunCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_underrun_count:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public int getPerformanceMode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_get_flags:()I
istore 1
start local 1 1: iload 1
iconst_4
iand
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
bipush 8
iand
ifeq 5
4: iconst_2
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/AudioTrack;
1 6 1 flags I
public static int getNativeOutputSampleRate(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic android.media.AudioTrack.native_get_output_sample_rate:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 streamType I
MethodParameters:
Name Flags
streamType
public static int getMinBufferSize(int, int, int);
descriptor: (III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iload 1
lookupswitch { // 4
2: 2
3: 4
4: 2
12: 4
default: 6
}
2: StackMap locals: int
StackMap stack:
iconst_1
istore 3
3: goto 10
4: StackMap locals:
StackMap stack:
iconst_2
istore 3
5: goto 10
6: StackMap locals:
StackMap stack:
iload 1
invokestatic android.media.AudioTrack.isMultichannelConfigSupported:(I)Z
ifne 9
7: ldc "getMinBufferSize(): Invalid channel configuration."
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
8: bipush -2
ireturn
9: StackMap locals:
StackMap stack:
iload 1
invokestatic android.media.AudioFormat.channelCountFromOutChannelMask:(I)I
istore 3
10: StackMap locals:
StackMap stack:
iload 2
invokestatic android.media.AudioFormat.isPublicEncoding:(I)Z
ifne 13
11: ldc "getMinBufferSize(): Invalid audio format."
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
12: bipush -2
ireturn
13: StackMap locals:
StackMap stack:
iload 0
sipush 4000
if_icmplt 15
14: iload 0
ldc 192000
if_icmple 17
15: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "getMinBufferSize(): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " Hz is not a supported sample rate."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
16: bipush -2
ireturn
17: StackMap locals:
StackMap stack:
iload 0
iload 3
iload 2
invokestatic android.media.AudioTrack.native_get_min_buff_size:(III)I
istore 4
start local 4 18: iload 4
ifgt 21
19: ldc "getMinBufferSize(): error querying hardware"
invokestatic android.media.AudioTrack.loge:(Ljava/lang/String;)V
20: iconst_m1
ireturn
21: StackMap locals: int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 sampleRateInHz I
0 22 1 channelConfig I
0 22 2 audioFormat I
1 22 3 channelCount I
18 22 4 size I
MethodParameters:
Name Flags
sampleRateInHz
channelConfig
audioFormat
public int getAudioSessionId();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mSessionId:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
public boolean getTimestamp(android.media.AudioTimestamp);
descriptor: (Landroid/media/AudioTimestamp;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_2
newarray 11
astore 2
start local 2 3: aload 0
aload 2
invokevirtual android.media.AudioTrack.native_get_timestamp:([J)I
istore 3
start local 3 4: iload 3
ifeq 6
5: iconst_0
ireturn
6: StackMap locals: long[] int
StackMap stack:
aload 1
aload 2
iconst_0
laload
putfield android.media.AudioTimestamp.framePosition:J
7: aload 1
aload 2
iconst_1
laload
putfield android.media.AudioTimestamp.nanoTime:J
8: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/AudioTrack;
0 9 1 timestamp Landroid/media/AudioTimestamp;
3 9 2 longArray [J
4 9 3 ret I
MethodParameters:
Name Flags
timestamp
public int getTimestampWithStatus(android.media.AudioTimestamp);
descriptor: (Landroid/media/AudioTimestamp;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_2
newarray 11
astore 2
start local 2 3: aload 0
aload 2
invokevirtual android.media.AudioTrack.native_get_timestamp:([J)I
istore 3
start local 3 4: aload 1
aload 2
iconst_0
laload
putfield android.media.AudioTimestamp.framePosition:J
5: aload 1
aload 2
iconst_1
laload
putfield android.media.AudioTimestamp.nanoTime:J
6: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/AudioTrack;
0 7 1 timestamp Landroid/media/AudioTimestamp;
3 7 2 longArray [J
4 7 3 ret I
MethodParameters:
Name Flags
timestamp
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.AudioTrack.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/AudioTrack;
1 2 1 bundle Landroid/os/PersistableBundle;
private native android.os.PersistableBundle native_getMetrics();
descriptor: ()Landroid/os/PersistableBundle;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
public void setPlaybackPositionUpdateListener(android.media.AudioTrack$OnPlaybackPositionUpdateListener);
descriptor: (Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual android.media.AudioTrack.setPlaybackPositionUpdateListener:(Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;Landroid/os/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack;
0 2 1 listener Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;
MethodParameters:
Name Flags
listener
public void setPlaybackPositionUpdateListener(android.media.AudioTrack$OnPlaybackPositionUpdateListener, android.os.Handler);
descriptor: (Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;Landroid/os/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 3
1: aload 0
new android.media.AudioTrack$NativePositionEventHandlerDelegate
dup
aload 0
aload 0
aload 1
aload 2
invokespecial android.media.AudioTrack$NativePositionEventHandlerDelegate.<init>:(Landroid/media/AudioTrack;Landroid/media/AudioTrack;Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;Landroid/os/Handler;)V
putfield android.media.AudioTrack.mEventHandlerDelegate:Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.media.AudioTrack.mEventHandlerDelegate:Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack;
0 5 1 listener Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;
0 5 2 handler Landroid/os/Handler;
MethodParameters:
Name Flags
listener
handler
private static float clampGainOrLevel(float);
descriptor: (F)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Float.isNaN:(F)Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
fload 0
fconst_0
fcmpg
ifge 5
3: fconst_0
fstore 0
4: goto 7
StackMap locals:
StackMap stack:
5: fload 0
fconst_1
fcmpl
ifle 7
6: fconst_1
fstore 0
7: StackMap locals:
StackMap stack:
fload 0
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 gainOrLevel F
MethodParameters:
Name Flags
gainOrLevel
public int setStereoVolume(float, float);
descriptor: (FF)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.AudioTrack.mState:I
ifne 2
1: bipush -3
ireturn
2: StackMap locals:
StackMap stack:
aload 0
fload 1
fload 2
invokevirtual android.media.AudioTrack.baseSetVolume:(FF)V
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/AudioTrack;
0 4 1 leftGain F
0 4 2 rightGain F
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
leftGain
rightGain
void playerSetVolume(boolean, float, float);
descriptor: (ZFF)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ifeq 1
fconst_0
goto 2
StackMap locals:
StackMap stack:
1: fload 2
StackMap locals:
StackMap stack: float
2: invokestatic android.media.AudioTrack.clampGainOrLevel:(F)F
fstore 2
3: iload 1
ifeq 4
fconst_0
goto 5
StackMap locals:
StackMap stack:
4: fload 3
StackMap locals:
StackMap stack: float
5: invokestatic android.media.AudioTrack.clampGainOrLevel:(F)F
fstore 3
6: aload 0
fload 2
fload 3
invokevirtual android.media.AudioTrack.native_setVolume:(FF)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/AudioTrack;
0 8 1 muting Z
0 8 2 leftVolume F
0 8 3 rightVolume F
MethodParameters:
Name Flags
muting
leftVolume
rightVolume
public int setVolume(float);
descriptor: (F)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
fload 1
fload 1
invokevirtual android.media.AudioTrack.setStereoVolume:(FF)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
0 1 1 gain F
MethodParameters:
Name Flags
gain
int playerApplyVolumeShaper(android.media.VolumeShaper$Configuration, android.media.VolumeShaper$Operation);
descriptor: (Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual android.media.AudioTrack.native_applyVolumeShaper:(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
0 1 1 configuration Landroid/media/VolumeShaper$Configuration;
0 1 2 operation Landroid/media/VolumeShaper$Operation;
MethodParameters:
Name Flags
configuration
operation
android.media.VolumeShaper$State playerGetVolumeShaperState(int);
descriptor: (I)Landroid/media/VolumeShaper$State;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.media.AudioTrack.native_getVolumeShaperState:(I)Landroid/media/VolumeShaper$State;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
0 1 1 id I
MethodParameters:
Name Flags
id
public android.media.VolumeShaper createVolumeShaper(android.media.VolumeShaper$Configuration);
descriptor: (Landroid/media/VolumeShaper$Configuration;)Landroid/media/VolumeShaper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new android.media.VolumeShaper
dup
aload 1
aload 0
invokespecial android.media.VolumeShaper.<init>:(Landroid/media/VolumeShaper$Configuration;Landroid/media/PlayerBase;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
0 1 1 configuration Landroid/media/VolumeShaper$Configuration;
MethodParameters:
Name Flags
configuration
public int setPlaybackRate(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mState:I
iconst_1
if_icmpeq 2
1: bipush -3
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ifgt 4
3: bipush -2
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.media.AudioTrack.native_set_playback_rate:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack;
0 5 1 sampleRateInHz I
MethodParameters:
Name Flags
sampleRateInHz
public void setPlaybackParams(android.media.PlaybackParams);
descriptor: (Landroid/media/PlaybackParams;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "params is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.media.AudioTrack.native_set_playback_params:(Landroid/media/PlaybackParams;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/AudioTrack;
0 4 1 params Landroid/media/PlaybackParams;
MethodParameters:
Name Flags
params
public int setNotificationMarkerPosition(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mState:I
ifne 2
1: bipush -3
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.media.AudioTrack.native_set_marker_pos:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
0 3 1 markerInFrames I
MethodParameters:
Name Flags
markerInFrames
public int setPositionNotificationPeriod(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mState:I
ifne 2
1: bipush -3
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.media.AudioTrack.native_set_pos_update_period:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
0 3 1 periodInFrames I
MethodParameters:
Name Flags
periodInFrames
public int setPlaybackHeadPosition(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
iconst_1
if_icmpeq 2
aload 0
getfield android.media.AudioTrack.mState:I
ifeq 2
1: aload 0
invokevirtual android.media.AudioTrack.getPlayState:()I
iconst_3
if_icmpne 3
2: StackMap locals:
StackMap stack:
bipush -3
ireturn
3: StackMap locals:
StackMap stack:
iload 1
iflt 4
iload 1
aload 0
getfield android.media.AudioTrack.mNativeBufferSizeInFrames:I
if_icmple 5
4: StackMap locals:
StackMap stack:
bipush -2
ireturn
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.media.AudioTrack.native_set_position:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/AudioTrack;
0 6 1 positionInFrames I
MethodParameters:
Name Flags
positionInFrames
public int setLoopPoints(int, int, int);
descriptor: (III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
iconst_1
if_icmpeq 2
aload 0
getfield android.media.AudioTrack.mState:I
ifeq 2
1: aload 0
invokevirtual android.media.AudioTrack.getPlayState:()I
iconst_3
if_icmpne 3
2: StackMap locals:
StackMap stack:
bipush -3
ireturn
3: StackMap locals:
StackMap stack:
iload 3
ifne 5
4: goto 8
StackMap locals:
StackMap stack:
5: iload 1
iflt 7
iload 1
aload 0
getfield android.media.AudioTrack.mNativeBufferSizeInFrames:I
if_icmpge 7
6: iload 1
iload 2
if_icmpge 7
iload 2
aload 0
getfield android.media.AudioTrack.mNativeBufferSizeInFrames:I
if_icmple 8
7: StackMap locals:
StackMap stack:
bipush -2
ireturn
8: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iload 3
invokevirtual android.media.AudioTrack.native_set_loop:(III)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/AudioTrack;
0 9 1 startInFrames I
0 9 2 endInFrames I
0 9 3 loopCount I
MethodParameters:
Name Flags
startInFrames
endInFrames
loopCount
public int setPresentation(android.media.AudioPresentation);
descriptor: (Landroid/media/AudioPresentation;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "audio presentation is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.media.AudioPresentation.getPresentationId:()I
3: aload 1
invokevirtual android.media.AudioPresentation.getProgramId:()I
4: invokevirtual android.media.AudioTrack.native_setPresentation:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack;
0 5 1 presentation Landroid/media/AudioPresentation;
MethodParameters:
Name Flags
presentation
protected void setState(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.media.AudioTrack.mState:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack;
0 2 1 state I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
state
public void play();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mState:I
iconst_1
if_icmpeq 2
1: new java.lang.IllegalStateException
dup
ldc "play() called on uninitialized AudioTrack."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.AudioTrack.getStartDelayMs:()I
istore 1
start local 1 3: iload 1
ifne 6
4: aload 0
invokevirtual android.media.AudioTrack.startImpl:()V
5: goto 8
6: StackMap locals: int
StackMap stack:
new android.media.AudioTrack$1
dup
aload 0
iload 1
invokespecial android.media.AudioTrack$1.<init>:(Landroid/media/AudioTrack;I)V
7: invokevirtual android.media.AudioTrack$1.start:()V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/AudioTrack;
3 9 1 delay I
Exceptions:
throws java.lang.IllegalStateException
private void startImpl();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mPlayStateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual android.media.AudioTrack.baseStart:()V
2: aload 0
invokevirtual android.media.AudioTrack.native_start:()V
3: aload 0
iconst_3
putfield android.media.AudioTrack.mPlayState:I
4: aload 1
monitorexit
5: goto 8
StackMap locals: android.media.AudioTrack java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/AudioTrack;
Exception table:
from to target type
1 5 6 any
6 7 6 any
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mState:I
iconst_1
if_icmpeq 2
1: new java.lang.IllegalStateException
dup
ldc "stop() called on uninitialized AudioTrack."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mPlayStateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
invokevirtual android.media.AudioTrack.native_stop:()V
4: aload 0
invokevirtual android.media.AudioTrack.baseStop:()V
5: aload 0
iconst_1
putfield android.media.AudioTrack.mPlayState:I
6: aload 0
aconst_null
putfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
7: aload 0
iconst_0
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
8: aload 1
monitorexit
9: goto 12
StackMap locals: android.media.AudioTrack java.lang.Object
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/media/AudioTrack;
Exception table:
from to target type
3 9 10 any
10 11 10 any
Exceptions:
throws java.lang.IllegalStateException
public void pause();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mState:I
iconst_1
if_icmpeq 2
1: new java.lang.IllegalStateException
dup
ldc "pause() called on uninitialized AudioTrack."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mPlayStateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
invokevirtual android.media.AudioTrack.native_pause:()V
4: aload 0
invokevirtual android.media.AudioTrack.basePause:()V
5: aload 0
iconst_2
putfield android.media.AudioTrack.mPlayState:I
6: aload 1
monitorexit
7: goto 10
StackMap locals: android.media.AudioTrack java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/media/AudioTrack;
Exception table:
from to target type
3 7 8 any
8 9 8 any
Exceptions:
throws java.lang.IllegalStateException
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mState:I
iconst_1
if_icmpne 4
1: aload 0
invokevirtual android.media.AudioTrack.native_flush:()V
2: aload 0
aconst_null
putfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
3: aload 0
iconst_0
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack;
public int write(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
iconst_0
invokevirtual android.media.AudioTrack.write:([BIII)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
0 1 1 audioData [B
0 1 2 offsetInBytes I
0 1 3 sizeInBytes I
MethodParameters:
Name Flags
audioData
offsetInBytes
sizeInBytes
public int write(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.media.AudioTrack.mState:I
ifeq 1
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
iconst_4
if_icmpne 2
1: StackMap locals:
StackMap stack:
bipush -3
ireturn
2: StackMap locals:
StackMap stack:
iload 4
ifeq 5
iload 4
iconst_1
if_icmpeq 5
3: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called with invalid blocking mode"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: bipush -2
ireturn
5: StackMap locals:
StackMap stack:
aload 1
ifnull 8
iload 2
iflt 8
iload 3
iflt 8
6: iload 2
iload 3
iadd
iflt 8
7: iload 2
iload 3
iadd
aload 1
arraylength
if_icmple 9
8: StackMap locals:
StackMap stack:
bipush -2
ireturn
9: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
10: iload 4
ifne 11
iconst_1
goto 12
StackMap locals: android.media.AudioTrack byte[] int int int
StackMap stack: android.media.AudioTrack byte[] int int int
11: iconst_0
12: StackMap locals: android.media.AudioTrack byte[] int int int
StackMap stack: android.media.AudioTrack byte[] int int int int
invokevirtual android.media.AudioTrack.native_write_byte:([BIIIZ)I
istore 5
start local 5 13: aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
ifne 17
14: aload 0
getfield android.media.AudioTrack.mState:I
iconst_2
if_icmpne 17
15: iload 5
ifle 17
16: aload 0
iconst_1
putfield android.media.AudioTrack.mState:I
17: StackMap locals: int
StackMap stack:
iload 5
ireturn
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 18 0 this Landroid/media/AudioTrack;
0 18 1 audioData [B
0 18 2 offsetInBytes I
0 18 3 sizeInBytes I
0 18 4 writeMode I
13 18 5 ret I
MethodParameters:
Name Flags
audioData
offsetInBytes
sizeInBytes
writeMode
public int write(short[], int, int);
descriptor: ([SII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
iconst_0
invokevirtual android.media.AudioTrack.write:([SIII)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
0 1 1 audioData [S
0 1 2 offsetInShorts I
0 1 3 sizeInShorts I
MethodParameters:
Name Flags
audioData
offsetInShorts
sizeInShorts
public int write(short[], int, int, int);
descriptor: ([SIII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.media.AudioTrack.mState:I
ifeq 1
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
iconst_4
if_icmpne 2
1: StackMap locals:
StackMap stack:
bipush -3
ireturn
2: StackMap locals:
StackMap stack:
iload 4
ifeq 5
iload 4
iconst_1
if_icmpeq 5
3: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called with invalid blocking mode"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: bipush -2
ireturn
5: StackMap locals:
StackMap stack:
aload 1
ifnull 8
iload 2
iflt 8
iload 3
iflt 8
6: iload 2
iload 3
iadd
iflt 8
7: iload 2
iload 3
iadd
aload 1
arraylength
if_icmple 9
8: StackMap locals:
StackMap stack:
bipush -2
ireturn
9: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
10: iload 4
ifne 11
iconst_1
goto 12
StackMap locals: android.media.AudioTrack short[] int int int
StackMap stack: android.media.AudioTrack short[] int int int
11: iconst_0
12: StackMap locals: android.media.AudioTrack short[] int int int
StackMap stack: android.media.AudioTrack short[] int int int int
invokevirtual android.media.AudioTrack.native_write_short:([SIIIZ)I
istore 5
start local 5 13: aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
ifne 17
14: aload 0
getfield android.media.AudioTrack.mState:I
iconst_2
if_icmpne 17
15: iload 5
ifle 17
16: aload 0
iconst_1
putfield android.media.AudioTrack.mState:I
17: StackMap locals: int
StackMap stack:
iload 5
ireturn
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 18 0 this Landroid/media/AudioTrack;
0 18 1 audioData [S
0 18 2 offsetInShorts I
0 18 3 sizeInShorts I
0 18 4 writeMode I
13 18 5 ret I
MethodParameters:
Name Flags
audioData
offsetInShorts
sizeInShorts
writeMode
public int write(float[], int, int, int);
descriptor: ([FIII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.media.AudioTrack.mState:I
ifne 3
1: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called in invalid state STATE_UNINITIALIZED"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: bipush -3
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
iconst_4
if_icmpeq 6
4: ldc "android.media.AudioTrack"
ldc "AudioTrack.write(float[] ...) requires format ENCODING_PCM_FLOAT"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: bipush -3
ireturn
6: StackMap locals:
StackMap stack:
iload 4
ifeq 9
iload 4
iconst_1
if_icmpeq 9
7: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called with invalid blocking mode"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: bipush -2
ireturn
9: StackMap locals:
StackMap stack:
aload 1
ifnull 12
iload 2
iflt 12
iload 3
iflt 12
10: iload 2
iload 3
iadd
iflt 12
11: iload 2
iload 3
iadd
aload 1
arraylength
if_icmple 14
12: StackMap locals:
StackMap stack:
ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called with invalid array, offset, or size"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: bipush -2
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
aload 0
getfield android.media.AudioTrack.mAudioFormat:I
15: iload 4
ifne 16
iconst_1
goto 17
StackMap locals: android.media.AudioTrack float[] int int int
StackMap stack: android.media.AudioTrack float[] int int int
16: iconst_0
17: StackMap locals: android.media.AudioTrack float[] int int int
StackMap stack: android.media.AudioTrack float[] int int int int
invokevirtual android.media.AudioTrack.native_write_float:([FIIIZ)I
istore 5
start local 5 18: aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
ifne 22
19: aload 0
getfield android.media.AudioTrack.mState:I
iconst_2
if_icmpne 22
20: iload 5
ifle 22
21: aload 0
iconst_1
putfield android.media.AudioTrack.mState:I
22: StackMap locals: int
StackMap stack:
iload 5
ireturn
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 23 0 this Landroid/media/AudioTrack;
0 23 1 audioData [F
0 23 2 offsetInFloats I
0 23 3 sizeInFloats I
0 23 4 writeMode I
18 23 5 ret I
MethodParameters:
Name Flags
audioData
offsetInFloats
sizeInFloats
writeMode
public int write(java.nio.ByteBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tNioUtils cannot be resolved\n\tNioUtils cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/AudioTrack;
MethodParameters:
Name Flags
audioData
sizeInBytes
writeMode
public int write(java.nio.ByteBuffer, int, int, long);
descriptor: (Ljava/nio/ByteBuffer;IIJ)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.media.AudioTrack.mState:I
ifne 3
1: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called in invalid state STATE_UNINITIALIZED"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: bipush -3
ireturn
3: StackMap locals:
StackMap stack:
iload 3
ifeq 6
iload 3
iconst_1
if_icmpeq 6
4: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called with invalid blocking mode"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: bipush -2
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
iconst_1
if_icmpeq 9
7: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() with timestamp called for non-streaming mode track"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: bipush -3
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mAttributes:Landroid/media/AudioAttributes;
invokevirtual android.media.AudioAttributes.getFlags:()I
bipush 16
iand
ifne 12
10: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() called on a regular AudioTrack. Ignoring pts..."
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
11: aload 0
aload 1
iload 2
iload 3
invokevirtual android.media.AudioTrack.write:(Ljava/nio/ByteBuffer;II)I
ireturn
12: StackMap locals:
StackMap stack:
aload 1
ifnull 13
iload 2
iflt 13
iload 2
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 15
13: StackMap locals:
StackMap stack:
ldc "android.media.AudioTrack"
new java.lang.StringBuilder
dup
ldc "AudioTrack.write() called with invalid size ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") value"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
14: bipush -2
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
ifnonnull 19
16: aload 0
aload 0
getfield android.media.AudioTrack.mOffset:I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
17: aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
18: aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
ldc 1431633922
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
19: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mAvSyncBytesRemaining:I
ifne 25
20: aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
iconst_4
iload 2
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
21: aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
bipush 8
lload 4
invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
pop
22: aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
bipush 16
aload 0
getfield android.media.AudioTrack.mOffset:I
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
23: aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
24: aload 0
iload 2
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
25: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 26: aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifeq 36
27: aload 0
aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 3
invokevirtual android.media.AudioTrack.write:(Ljava/nio/ByteBuffer;II)I
istore 6
28: iload 6
ifge 33
29: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() could not write timestamp header!"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
30: aload 0
aconst_null
putfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
31: aload 0
iconst_0
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
32: iload 6
ireturn
33: StackMap locals: int
StackMap stack:
aload 0
getfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 36
34: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() partial timestamp header written."
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
35: iconst_0
ireturn
36: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mAvSyncBytesRemaining:I
iload 2
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 37: aload 0
aload 1
iload 7
iload 3
invokevirtual android.media.AudioTrack.write:(Ljava/nio/ByteBuffer;II)I
istore 6
38: iload 6
ifge 43
39: ldc "android.media.AudioTrack"
ldc "AudioTrack.write() could not write audio data!"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
40: aload 0
aconst_null
putfield android.media.AudioTrack.mAvSyncHeader:Ljava/nio/ByteBuffer;
41: aload 0
iconst_0
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
42: iload 6
ireturn
43: StackMap locals: int
StackMap stack:
aload 0
dup
getfield android.media.AudioTrack.mAvSyncBytesRemaining:I
iload 6
isub
putfield android.media.AudioTrack.mAvSyncBytesRemaining:I
44: iload 6
ireturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Landroid/media/AudioTrack;
0 45 1 audioData Ljava/nio/ByteBuffer;
0 45 2 sizeInBytes I
0 45 3 writeMode I
0 45 4 timestamp J
26 45 6 ret I
37 45 7 sizeToWrite I
MethodParameters:
Name Flags
audioData
sizeInBytes
writeMode
timestamp
public int reloadStaticData();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mDataLoadMode:I
iconst_1
if_icmpeq 1
aload 0
getfield android.media.AudioTrack.mState:I
iconst_1
if_icmpeq 2
1: StackMap locals:
StackMap stack:
bipush -3
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.AudioTrack.native_reload_static:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
public int attachAuxEffect(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mState:I
ifne 2
1: bipush -3
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.media.AudioTrack.native_attachAuxEffect:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
0 3 1 effectId I
MethodParameters:
Name Flags
effectId
public int setAuxEffectSendLevel(float);
descriptor: (F)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mState:I
ifne 2
1: bipush -3
ireturn
2: StackMap locals:
StackMap stack:
aload 0
fload 1
invokevirtual android.media.AudioTrack.baseSetAuxEffectSendLevel:(F)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
0 3 1 level F
MethodParameters:
Name Flags
level
int playerSetAuxEffectSendLevel(boolean, float);
descriptor: (ZF)I
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 1
fconst_0
goto 2
StackMap locals:
StackMap stack:
1: fload 2
StackMap locals:
StackMap stack: float
2: invokestatic android.media.AudioTrack.clampGainOrLevel:(F)F
fstore 2
3: aload 0
fload 2
invokevirtual android.media.AudioTrack.native_setAuxEffectSendLevel:(F)I
istore 3
start local 3 4: iload 3
ifne 5
iconst_0
goto 6
StackMap locals: int
StackMap stack:
5: iconst_m1
StackMap locals:
StackMap stack: int
6: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/AudioTrack;
0 7 1 muting Z
0 7 2 level F
4 7 3 err I
MethodParameters:
Name Flags
muting
level
public boolean setPreferredDevice(android.media.AudioDeviceInfo);
descriptor: (Landroid/media/AudioDeviceInfo;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
invokevirtual android.media.AudioDeviceInfo.isSink:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 1
invokevirtual android.media.AudioDeviceInfo.getId:()I
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2
start local 2 5: aload 0
iload 2
invokevirtual android.media.AudioTrack.native_setOutputDevice:(I)Z
istore 3
start local 3 6: iload 3
ifeq 13
7: aload 0
dup
astore 4
monitorenter
8: aload 0
aload 1
putfield android.media.AudioTrack.mPreferredDevice:Landroid/media/AudioDeviceInfo;
9: aload 4
monitorexit
10: goto 13
StackMap locals: android.media.AudioTrack android.media.AudioDeviceInfo int int android.media.AudioTrack
StackMap stack: java.lang.Throwable
11: aload 4
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/media/AudioTrack;
0 14 1 deviceInfo Landroid/media/AudioDeviceInfo;
5 14 2 preferredDeviceId I
6 14 3 status Z
Exception table:
from to target type
8 10 11 any
11 12 11 any
MethodParameters:
Name Flags
deviceInfo
public android.media.AudioDeviceInfo getPreferredDevice();
descriptor: ()Landroid/media/AudioDeviceInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield android.media.AudioTrack.mPreferredDevice:Landroid/media/AudioDeviceInfo;
aload 1
monitorexit
2: areturn
3: StackMap locals: android.media.AudioTrack android.media.AudioTrack
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/AudioTrack;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public android.media.AudioDeviceInfo getRoutedDevice();
descriptor: ()Landroid/media/AudioDeviceInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.native_getRoutedDeviceId:()I
istore 1
start local 1 1: iload 1
ifne 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
iconst_2
invokestatic android.media.AudioManager.getDevicesStatic:(I)[Landroid/media/AudioDeviceInfo;
4: astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 10
7: StackMap locals: android.media.AudioDeviceInfo[] int
StackMap stack:
aload 2
iload 3
aaload
invokevirtual android.media.AudioDeviceInfo.getId:()I
iload 1
if_icmpne 9
8: aload 2
iload 3
aaload
areturn
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 2
arraylength
if_icmplt 7
end local 3 11: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/AudioTrack;
1 12 1 deviceId I
5 12 2 devices [Landroid/media/AudioDeviceInfo;
6 11 3 i I
private void testEnableNativeRoutingCallbacksLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
ifne 2
1: aload 0
invokevirtual android.media.AudioTrack.native_enableDeviceCallback:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mRoutingChangeListeners")
private void testDisableNativeRoutingCallbacksLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
ifne 2
1: aload 0
invokevirtual android.media.AudioTrack.native_disableDeviceCallback:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/AudioTrack;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mRoutingChangeListeners")
public void addOnRoutingChangedListener(android.media.AudioRouting$OnRoutingChangedListener, android.os.Handler);
descriptor: (Landroid/media/AudioRouting$OnRoutingChangedListener;Landroid/os/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
dup
astore 3
monitorenter
1: aload 1
ifnull 10
aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.containsKey:(Ljava/lang/Object;)Z
ifne 10
2: aload 0
invokevirtual android.media.AudioTrack.testEnableNativeRoutingCallbacksLocked:()V
3: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
4: aload 1
5: new android.media.NativeRoutingEventHandlerDelegate
dup
aload 0
aload 1
6: aload 2
ifnull 7
aload 2
goto 8
StackMap locals: android.media.AudioTrack android.media.AudioRouting$OnRoutingChangedListener android.os.Handler android.util.ArrayMap
StackMap stack: android.util.ArrayMap android.media.AudioRouting$OnRoutingChangedListener new 5 new 5 android.media.AudioTrack android.media.AudioRouting$OnRoutingChangedListener
7: new android.os.Handler
dup
aload 0
getfield android.media.AudioTrack.mInitializationLooper:Landroid/os/Looper;
invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
StackMap locals: android.media.AudioTrack android.media.AudioRouting$OnRoutingChangedListener android.os.Handler android.util.ArrayMap
StackMap stack: android.util.ArrayMap android.media.AudioRouting$OnRoutingChangedListener new 5 new 5 android.media.AudioTrack android.media.AudioRouting$OnRoutingChangedListener android.os.Handler
8: invokespecial android.media.NativeRoutingEventHandlerDelegate.<init>:(Landroid/media/AudioRouting;Landroid/media/AudioRouting$OnRoutingChangedListener;Landroid/os/Handler;)V
9: invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 3
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 3
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/media/AudioTrack;
0 15 1 listener Landroid/media/AudioRouting$OnRoutingChangedListener;
0 15 2 handler Landroid/os/Handler;
Exception table:
from to target type
1 11 12 any
12 13 12 any
MethodParameters:
Name Flags
listener
handler
public void removeOnRoutingChangedListener(android.media.AudioRouting$OnRoutingChangedListener);
descriptor: (Landroid/media/AudioRouting$OnRoutingChangedListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
dup
astore 2
monitorenter
1: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.containsKey:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals: android.util.ArrayMap
StackMap stack:
aload 0
invokevirtual android.media.AudioTrack.testDisableNativeRoutingCallbacksLocked:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/AudioTrack;
0 9 1 listener Landroid/media/AudioRouting$OnRoutingChangedListener;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
listener
public void addOnRoutingChangedListener(android.media.AudioTrack$OnRoutingChangedListener, android.os.Handler);
descriptor: (Landroid/media/AudioTrack$OnRoutingChangedListener;Landroid/os/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual android.media.AudioTrack.addOnRoutingChangedListener:(Landroid/media/AudioRouting$OnRoutingChangedListener;Landroid/os/Handler;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack;
0 2 1 listener Landroid/media/AudioTrack$OnRoutingChangedListener;
0 2 2 handler Landroid/os/Handler;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
listener
handler
public void removeOnRoutingChangedListener(android.media.AudioTrack$OnRoutingChangedListener);
descriptor: (Landroid/media/AudioTrack$OnRoutingChangedListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual android.media.AudioTrack.removeOnRoutingChangedListener:(Landroid/media/AudioRouting$OnRoutingChangedListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack;
0 2 1 listener Landroid/media/AudioTrack$OnRoutingChangedListener;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
listener
private void broadcastRoutingChange();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: invokestatic android.media.AudioManager.resetAudioPortGeneration:()I
pop
1: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
dup
astore 1
monitorenter
2: aload 0
getfield android.media.AudioTrack.mRoutingChangeListeners:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: android.media.AudioTrack android.util.ArrayMap top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.media.NativeRoutingEventHandlerDelegate
astore 2
start local 2 4: aload 2
invokevirtual android.media.NativeRoutingEventHandlerDelegate.notifyClient:()V
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 1
monitorexit
7: goto 10
StackMap locals: android.media.AudioTrack android.util.ArrayMap
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/media/AudioTrack;
4 5 2 delegate Landroid/media/NativeRoutingEventHandlerDelegate;
Exception table:
from to target type
2 7 8 any
8 9 8 any
public void setStreamEventCallback(java.util.concurrent.Executor, android.media.AudioTrack$StreamEventCallback);
descriptor: (Ljava/util/concurrent/Executor;Landroid/media/AudioTrack$StreamEventCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Illegal null StreamEventCallback"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Illegal null Executor for the StreamEventCallback"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield android.media.AudioTrack.mStreamEventCbLock:Ljava/lang/Object;
dup
astore 3
monitorenter
5: aload 0
aload 1
putfield android.media.AudioTrack.mStreamEventExec:Ljava/util/concurrent/Executor;
6: aload 0
aload 2
putfield android.media.AudioTrack.mStreamEventCb:Landroid/media/AudioTrack$StreamEventCallback;
7: aload 3
monitorexit
8: goto 11
StackMap locals: android.media.AudioTrack java.util.concurrent.Executor android.media.AudioTrack$StreamEventCallback java.lang.Object
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/AudioTrack;
0 12 1 executor Ljava/util/concurrent/Executor;
0 12 2 eventCallback Landroid/media/AudioTrack$StreamEventCallback;
Exception table:
from to target type
5 8 9 any
9 10 9 any
MethodParameters:
Name Flags
executor
eventCallback
public void removeStreamEventCallback();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.AudioTrack.mStreamEventCbLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
aconst_null
putfield android.media.AudioTrack.mStreamEventExec:Ljava/util/concurrent/Executor;
2: aload 0
aconst_null
putfield android.media.AudioTrack.mStreamEventCb:Landroid/media/AudioTrack$StreamEventCallback;
3: aload 1
monitorexit
4: goto 7
StackMap locals: android.media.AudioTrack java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/AudioTrack;
Exception table:
from to target type
1 4 5 any
5 6 5 any
void playerStart();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.play:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack;
void playerPause();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.pause:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack;
void playerStop();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.AudioTrack.stop:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/AudioTrack;
private static void postEventFromNative(java.lang.Object, int, int, int, java.lang.Object);
descriptor: (Ljava/lang/Object;IIILjava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
checkcast java.lang.ref.WeakReference
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.media.AudioTrack
astore 5
start local 5 1: aload 5
ifnonnull 3
2: return
3: StackMap locals: android.media.AudioTrack
StackMap stack:
iload 1
sipush 1000
if_icmpne 6
4: aload 5
invokevirtual android.media.AudioTrack.broadcastRoutingChange:()V
5: return
6: StackMap locals:
StackMap stack:
iload 1
ifeq 8
iload 1
bipush 6
if_icmpeq 8
7: iload 1
bipush 7
if_icmpne 24
8: StackMap locals:
StackMap stack:
aload 5
getfield android.media.AudioTrack.mStreamEventCbLock:Ljava/lang/Object;
dup
astore 8
monitorenter
9: aload 5
getfield android.media.AudioTrack.mStreamEventExec:Ljava/util/concurrent/Executor;
astore 6
start local 6 10: aload 5
getfield android.media.AudioTrack.mStreamEventCb:Landroid/media/AudioTrack$StreamEventCallback;
astore 7
start local 7 11: aload 8
monitorexit
12: goto 15
end local 7 end local 6 StackMap locals: java.lang.Object int int int java.lang.Object android.media.AudioTrack top top java.lang.Object
StackMap stack: java.lang.Throwable
13: aload 8
monitorexit
14: athrow
start local 6 start local 7 15: StackMap locals: java.lang.Object int int int java.lang.Object android.media.AudioTrack java.util.concurrent.Executor android.media.AudioTrack$StreamEventCallback
StackMap stack:
aload 6
ifnull 16
aload 7
ifnonnull 17
16: StackMap locals:
StackMap stack:
return
17: StackMap locals:
StackMap stack:
iload 1
lookupswitch { // 3
0: 18
6: 20
7: 22
default: 24
}
18: StackMap locals:
StackMap stack:
aload 6
aload 7
aload 5
invokedynamic run(Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
android/media/AudioTrack.lambda$0(Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)V (6)
()V
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
19: return
20: StackMap locals:
StackMap stack:
aload 6
aload 7
aload 5
invokedynamic run(Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
android/media/AudioTrack.lambda$1(Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)V (6)
()V
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
21: return
22: StackMap locals:
StackMap stack:
aload 6
aload 7
aload 5
invokedynamic run(Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
android/media/AudioTrack.lambda$2(Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)V (6)
()V
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
23: return
end local 7 end local 6 24: StackMap locals:
StackMap stack:
aload 5
25: getfield android.media.AudioTrack.mEventHandlerDelegate:Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;
astore 6
start local 6 26: aload 6
ifnull 31
27: aload 6
invokevirtual android.media.AudioTrack$NativePositionEventHandlerDelegate.getHandler:()Landroid/os/Handler;
astore 7
start local 7 28: aload 7
ifnull 31
29: aload 7
iload 1
iload 2
iload 3
aload 4
invokevirtual android.os.Handler.obtainMessage:(IIILjava/lang/Object;)Landroid/os/Message;
astore 8
start local 8 30: aload 7
aload 8
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
end local 8 end local 7 31: StackMap locals: android.media.AudioTrack$NativePositionEventHandlerDelegate
StackMap stack:
return
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 32 0 audiotrack_ref Ljava/lang/Object;
0 32 1 what I
0 32 2 arg1 I
0 32 3 arg2 I
0 32 4 obj Ljava/lang/Object;
1 32 5 track Landroid/media/AudioTrack;
10 13 6 exec Ljava/util/concurrent/Executor;
15 24 6 exec Ljava/util/concurrent/Executor;
11 13 7 cb Landroid/media/AudioTrack$StreamEventCallback;
15 24 7 cb Landroid/media/AudioTrack$StreamEventCallback;
26 32 6 delegate Landroid/media/AudioTrack$NativePositionEventHandlerDelegate;
28 31 7 handler Landroid/os/Handler;
30 31 8 m Landroid/os/Message;
Exception table:
from to target type
9 12 13 any
13 14 13 any
MethodParameters:
Name Flags
audiotrack_ref
what
arg1
arg2
obj
private final native int native_setup(java.lang.Object, java.lang.Object, int[], int, int, int, int, int, int[], long, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;[IIIIII[IJZ)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
audiotrack_this
attributes
sampleRate
channelMask
channelIndexMask
audioFormat
buffSizeInBytes
mode
sessionId
nativeAudioTrack
offload
private final native void native_finalize();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
public final native void native_release();
descriptor: ()V
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
private final native void native_start();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_stop();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_pause();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_flush();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_write_byte(byte[], int, int, int, boolean);
descriptor: ([BIIIZ)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
audioData
offsetInBytes
sizeInBytes
format
isBlocking
private final native int native_write_short(short[], int, int, int, boolean);
descriptor: ([SIIIZ)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
audioData
offsetInShorts
sizeInShorts
format
isBlocking
private final native int native_write_float(float[], int, int, int, boolean);
descriptor: ([FIIIZ)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
audioData
offsetInFloats
sizeInFloats
format
isBlocking
private final native int native_write_native_bytes(java.lang.Object, int, int, int, boolean);
descriptor: (Ljava/lang/Object;IIIZ)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
audioData
positionInBytes
sizeInBytes
format
blocking
private final native int native_reload_static();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_get_buffer_size_frames();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_set_buffer_size_frames(int);
descriptor: (I)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
bufferSizeInFrames
private final native int native_get_buffer_capacity_frames();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_setVolume(float, float);
descriptor: (FF)V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
leftVolume
rightVolume
private final native int native_set_playback_rate(int);
descriptor: (I)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
sampleRateInHz
private final native int native_get_playback_rate();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_set_playback_params(android.media.PlaybackParams);
descriptor: (Landroid/media/PlaybackParams;)V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
params
private final native android.media.PlaybackParams native_get_playback_params();
descriptor: ()Landroid/media/PlaybackParams;
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_set_marker_pos(int);
descriptor: (I)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
marker
private final native int native_get_marker_pos();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_set_pos_update_period(int);
descriptor: (I)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
updatePeriod
private final native int native_get_pos_update_period();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_set_position(int);
descriptor: (I)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
position
private final native int native_get_position();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_get_latency();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_get_underrun_count();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_get_flags();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native int native_get_timestamp(long[]);
descriptor: ([J)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
longArray
private final native int native_set_loop(int, int, int);
descriptor: (III)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
start
end
loopCount
private static final native int native_get_output_sample_rate(int);
descriptor: (I)I
flags: (0x011a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
streamType
private static final native int native_get_min_buff_size(int, int, int);
descriptor: (III)I
flags: (0x011a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
sampleRateInHz
channelConfig
audioFormat
private final native int native_attachAuxEffect(int);
descriptor: (I)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
effectId
private final native int native_setAuxEffectSendLevel(float);
descriptor: (F)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
level
private final native boolean native_setOutputDevice(int);
descriptor: (I)Z
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
deviceId
private final native int native_getRoutedDeviceId();
descriptor: ()I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_enableDeviceCallback();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private final native void native_disableDeviceCallback();
descriptor: ()V
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
private static native int native_get_FCC_8();
descriptor: ()I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private native int native_applyVolumeShaper(android.media.VolumeShaper$Configuration, android.media.VolumeShaper$Operation);
descriptor: (Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
configuration
operation
private native android.media.VolumeShaper$State native_getVolumeShaperState(int);
descriptor: (I)Landroid/media/VolumeShaper$State;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
id
private final native int native_setPresentation(int, int);
descriptor: (II)I
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
presentationId
programId
private static void logd(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "android.media.AudioTrack"
aload 0
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private static void loge(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "android.media.AudioTrack"
aload 0
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private static void lambda$0(android.media.AudioTrack$StreamEventCallback, android.media.AudioTrack);
descriptor: (Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual android.media.AudioTrack$StreamEventCallback.onStreamDataRequest:(Landroid/media/AudioTrack;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$1(android.media.AudioTrack$StreamEventCallback, android.media.AudioTrack);
descriptor: (Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual android.media.AudioTrack$StreamEventCallback.onTearDown:(Landroid/media/AudioTrack;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$2(android.media.AudioTrack$StreamEventCallback, android.media.AudioTrack);
descriptor: (Landroid/media/AudioTrack$StreamEventCallback;Landroid/media/AudioTrack;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual android.media.AudioTrack$StreamEventCallback.onStreamPresentationEnd:(Landroid/media/AudioTrack;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "AudioTrack.java"
NestMembers:
android.media.AudioTrack$1 android.media.AudioTrack$Builder android.media.AudioTrack$MetricsConstants android.media.AudioTrack$NativePositionEventHandlerDelegate android.media.AudioTrack$NativePositionEventHandlerDelegate$1 android.media.AudioTrack$OnPlaybackPositionUpdateListener android.media.AudioTrack$OnRoutingChangedListener android.media.AudioTrack$PerformanceMode android.media.AudioTrack$StreamEventCallback android.media.AudioTrack$TransferMode android.media.AudioTrack$WriteMode
InnerClasses:
public Builder = android.media.AudioAttributes$Builder of android.media.AudioAttributes
public Builder = android.media.AudioFormat$Builder of android.media.AudioFormat
public abstract OnRoutingChangedListener = android.media.AudioRouting$OnRoutingChangedListener of android.media.AudioRouting
android.media.AudioTrack$1
public Builder = android.media.AudioTrack$Builder of android.media.AudioTrack
public final MetricsConstants = android.media.AudioTrack$MetricsConstants of android.media.AudioTrack
private NativePositionEventHandlerDelegate = android.media.AudioTrack$NativePositionEventHandlerDelegate of android.media.AudioTrack
public abstract OnPlaybackPositionUpdateListener = android.media.AudioTrack$OnPlaybackPositionUpdateListener of android.media.AudioTrack
public abstract OnRoutingChangedListener = android.media.AudioTrack$OnRoutingChangedListener of android.media.AudioTrack
public abstract PerformanceMode = android.media.AudioTrack$PerformanceMode of android.media.AudioTrack
public abstract StreamEventCallback = android.media.AudioTrack$StreamEventCallback of android.media.AudioTrack
public abstract TransferMode = android.media.AudioTrack$TransferMode of android.media.AudioTrack
public abstract WriteMode = android.media.AudioTrack$WriteMode of android.media.AudioTrack
public final Configuration = android.media.VolumeShaper$Configuration of android.media.VolumeShaper
public final Operation = android.media.VolumeShaper$Operation of android.media.VolumeShaper
public final State = android.media.VolumeShaper$State of android.media.VolumeShaper
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles