public final class com.sun.media.sound.AiffFileWriter extends com.sun.media.sound.SunFileWriter
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.AiffFileWriter
super_class: com.sun.media.sound.SunFileWriter
{
private static final int DOUBLE_MANTISSA_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 52
private static final int DOUBLE_EXPONENT_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final long DOUBLE_SIGN_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
private static final long DOUBLE_EXPONENT_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9218868437227405312
private static final long DOUBLE_MANTISSA_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4503599627370495
private static final int DOUBLE_EXPONENT_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1023
private static final int EXTENDED_EXPONENT_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16383
private static final int EXTENDED_MANTISSA_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 63
private static final int EXTENDED_EXPONENT_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final long EXTENDED_INTEGER_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray javax.sound.sampled.AudioFileFormat$Type
dup
iconst_0
getstatic javax.sound.sampled.AudioFileFormat$Type.AIFF:Ljavax/sound/sampled/AudioFileFormat$Type;
aastore
invokespecial com.sun.media.sound.SunFileWriter.<init>:([Ljavax/sound/sampled/AudioFileFormat$Type;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/AiffFileWriter;
public javax.sound.sampled.AudioFileFormat$Type[] getAudioFileTypes(javax.sound.sampled.AudioInputStream);
descriptor: (Ljavax/sound/sampled/AudioInputStream;)[Ljavax/sound/sampled/AudioFileFormat$Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.media.sound.AiffFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
arraylength
anewarray javax.sound.sampled.AudioFileFormat$Type
astore 2
start local 2 1: aload 0
getfield com.sun.media.sound.AiffFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
iconst_0
aload 2
iconst_0
aload 0
getfield com.sun.media.sound.AiffFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 3
start local 3 3: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
astore 4
start local 4 4: getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 4
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifne 8
5: getstatic javax.sound.sampled.AudioFormat$Encoding.ULAW:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 4
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifne 8
6: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 4
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifne 8
7: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 4
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 9
8: StackMap locals: javax.sound.sampled.AudioFileFormat$Type[] javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding
StackMap stack:
aload 2
areturn
9: StackMap locals:
StackMap stack:
iconst_0
anewarray javax.sound.sampled.AudioFileFormat$Type
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/media/sound/AiffFileWriter;
0 10 1 stream Ljavax/sound/sampled/AudioInputStream;
1 10 2 filetypes [Ljavax/sound/sampled/AudioFileFormat$Type;
3 10 3 format Ljavax/sound/sampled/AudioFormat;
4 10 4 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
MethodParameters:
Name Flags
stream
public int write(javax.sound.sampled.AudioInputStream, javax.sound.sampled.AudioFileFormat$Type, java.io.OutputStream);
descriptor: (Ljavax/sound/sampled/AudioInputStream;Ljavax/sound/sampled/AudioFileFormat$Type;Ljava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 2
aload 1
invokevirtual com.sun.media.sound.AiffFileWriter.getAudioFileFormat:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
checkcast com.sun.media.sound.AiffFileFormat
astore 4
start local 4 4: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
ldc -1
lcmp
ifne 6
5: new java.io.IOException
dup
ldc "stream length not specified"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: com.sun.media.sound.AiffFileFormat
StackMap stack:
aload 0
aload 1
aload 4
aload 3
invokevirtual com.sun.media.sound.AiffFileWriter.writeAiffFile:(Ljava/io/InputStream;Lcom/sun/media/sound/AiffFileFormat;Ljava/io/OutputStream;)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/media/sound/AiffFileWriter;
0 7 1 stream Ljavax/sound/sampled/AudioInputStream;
0 7 2 fileType Ljavax/sound/sampled/AudioFileFormat$Type;
0 7 3 out Ljava/io/OutputStream;
4 7 4 aiffFileFormat Lcom/sun/media/sound/AiffFileFormat;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
fileType
out
public int write(javax.sound.sampled.AudioInputStream, javax.sound.sampled.AudioFileFormat$Type, java.io.File);
descriptor: (Ljavax/sound/sampled/AudioInputStream;Ljavax/sound/sampled/AudioFileFormat$Type;Ljava/io/File;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 2
aload 1
invokevirtual com.sun.media.sound.AiffFileWriter.getAudioFileFormat:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
checkcast com.sun.media.sound.AiffFileFormat
astore 4
start local 4 4: aconst_null
astore 6
aconst_null
astore 7
5: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 8
start local 8 6: new java.io.BufferedOutputStream
dup
aload 8
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 9
start local 9 7: aload 0
aload 1
aload 4
aload 9
invokevirtual com.sun.media.sound.AiffFileWriter.writeAiffFile:(Ljava/io/InputStream;Lcom/sun/media/sound/AiffFileFormat;Ljava/io/OutputStream;)I
istore 5
start local 5 8: aload 9
ifnull 11
aload 9
invokevirtual java.io.BufferedOutputStream.close:()V
goto 11
end local 5 StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.AiffFileFormat top java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.BufferedOutputStream
StackMap stack: java.lang.Throwable
9: astore 6
aload 9
ifnull 10
aload 9
invokevirtual java.io.BufferedOutputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
10: aload 6
athrow
start local 5 StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.AiffFileFormat int java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack:
11: aload 8
ifnull 19
aload 8
invokevirtual java.io.FileOutputStream.close:()V
goto 19
end local 5 StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.AiffFileFormat top java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
12: astore 7
aload 6
ifnonnull 13
aload 7
astore 6
goto 14
StackMap locals:
StackMap stack:
13: aload 6
aload 7
if_acmpeq 14
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 8
ifnull 15
aload 8
invokevirtual java.io.FileOutputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
15: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 7
aload 6
ifnonnull 17
aload 7
astore 6
goto 18
StackMap locals:
StackMap stack:
17: aload 6
aload 7
if_acmpeq 18
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 6
athrow
start local 5 19: StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.AiffFileFormat int
StackMap stack:
aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getByteLength:()I
iconst_m1
if_icmpne 41
20: aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
istore 6
start local 6 21: aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
istore 7
start local 7 22: iload 6
iload 7
bipush 7
iadd
bipush 8
idiv
imul
istore 8
start local 8 23: iload 5
istore 9
start local 9 24: iload 9
aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getHeaderSize:()I
isub
bipush 16
iadd
istore 10
start local 10 25: iload 10
bipush 16
isub
i2l
lstore 11
start local 11 26: lload 11
iload 8
i2l
ldiv
l2i
istore 13
start local 13 27: aconst_null
astore 14
aconst_null
astore 15
28: new java.io.RandomAccessFile
dup
aload 3
ldc "rw"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 16
start local 16 29: aload 16
iconst_4
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
30: aload 16
iload 9
bipush 8
isub
invokevirtual java.io.RandomAccessFile.writeInt:(I)V
31: aload 16
iconst_4
aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getFverChunkSize:()I
iadd
iconst_4
iadd
iconst_4
iadd
iconst_2
iadd
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
32: aload 16
iload 13
invokevirtual java.io.RandomAccessFile.writeInt:(I)V
33: aload 16
bipush 16
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
34: aload 16
iload 10
bipush 8
isub
invokevirtual java.io.RandomAccessFile.writeInt:(I)V
35: aload 16
ifnull 41
aload 16
invokevirtual java.io.RandomAccessFile.close:()V
goto 41
StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.AiffFileFormat int int int int int int long int java.lang.Throwable java.lang.Throwable java.io.RandomAccessFile
StackMap stack: java.lang.Throwable
36: astore 14
aload 16
ifnull 37
aload 16
invokevirtual java.io.RandomAccessFile.close:()V
end local 16 StackMap locals:
StackMap stack:
37: aload 14
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
38: astore 15
aload 14
ifnonnull 39
aload 15
astore 14
goto 40
StackMap locals:
StackMap stack:
39: aload 14
aload 15
if_acmpeq 40
aload 14
aload 15
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
40: aload 14
athrow
end local 13 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 41: StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.AiffFileFormat 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 42 0 this Lcom/sun/media/sound/AiffFileWriter;
0 42 1 stream Ljavax/sound/sampled/AudioInputStream;
0 42 2 fileType Ljavax/sound/sampled/AudioFileFormat$Type;
0 42 3 out Ljava/io/File;
4 42 4 aiffFileFormat Lcom/sun/media/sound/AiffFileFormat;
8 9 5 bytesWritten I
11 12 5 bytesWritten I
19 42 5 bytesWritten I
6 15 8 fos Ljava/io/FileOutputStream;
7 10 9 bos Ljava/io/BufferedOutputStream;
21 41 6 channels I
22 41 7 sampleSize I
23 41 8 ssndBlockSize I
24 41 9 aiffLength I
25 41 10 ssndChunkSize I
26 41 11 dataSize J
27 41 13 numFrames I
29 37 16 raf Ljava/io/RandomAccessFile;
Exception table:
from to target type
7 8 9 any
6 11 12 any
5 16 16 any
29 35 36 any
28 38 38 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
fileType
out
private javax.sound.sampled.AudioFileFormat getAudioFileFormat(javax.sound.sampled.AudioFileFormat$Type, javax.sound.sampled.AudioInputStream);
descriptor: (Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.sun.media.sound.AiffFileWriter.isFileTypeSupported:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "File type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " not supported."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 5
start local 5 5: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 6
start local 6 6: aload 6
invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
astore 7
start local 7 7: iconst_0
istore 10
start local 10 8: getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 7
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifne 10
9: getstatic javax.sound.sampled.AudioFormat$Encoding.ULAW:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 7
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 16
10: StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.AiffFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding top top int
StackMap stack:
aload 6
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
bipush 8
if_icmpne 15
11: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 5
12: bipush 16
istore 8
start local 8 13: iconst_1
istore 10
14: goto 22
end local 8 15: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Encoding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " supported only for 8-bit data."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 6
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
bipush 8
if_icmpne 20
17: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 5
18: bipush 8
istore 8
start local 8 19: goto 22
end local 8 20: StackMap locals:
StackMap stack:
getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 5
21: aload 6
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
istore 8
start local 8 22: StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.AiffFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding int top int
StackMap stack:
new javax.sound.sampled.AudioFormat
dup
aload 5
23: aload 6
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
24: iload 8
25: aload 6
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
26: aload 6
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
27: aload 6
invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
28: iconst_1
29: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
astore 3
30: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
ldc -1
lcmp
ifeq 36
31: iload 10
ifeq 34
32: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
l2i
aload 6
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
imul
iconst_2
imul
bipush 54
iadd
istore 9
start local 9 33: goto 37
end local 9 34: StackMap locals:
StackMap stack:
aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
l2i
aload 6
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
imul
bipush 54
iadd
istore 9
start local 9 35: goto 37
end local 9 36: StackMap locals:
StackMap stack:
iconst_m1
istore 9
start local 9 37: StackMap locals: com.sun.media.sound.AiffFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.AiffFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding int int int
StackMap stack:
new com.sun.media.sound.AiffFileFormat
dup
getstatic javax.sound.sampled.AudioFileFormat$Type.AIFF:Ljavax/sound/sampled/AudioFileFormat$Type;
38: iload 9
i2l
39: aload 3
40: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
l2i
i2l
41: invokespecial com.sun.media.sound.AiffFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;JLjavax/sound/sampled/AudioFormat;J)V
astore 4
42: aload 4
areturn
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 43 0 this Lcom/sun/media/sound/AiffFileWriter;
0 43 1 type Ljavax/sound/sampled/AudioFileFormat$Type;
0 43 2 stream Ljavax/sound/sampled/AudioInputStream;
3 43 3 format Ljavax/sound/sampled/AudioFormat;
4 43 4 fileFormat Lcom/sun/media/sound/AiffFileFormat;
5 43 5 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
6 43 6 streamFormat Ljavax/sound/sampled/AudioFormat;
7 43 7 streamEncoding Ljavax/sound/sampled/AudioFormat$Encoding;
13 15 8 sampleSizeInBits I
19 20 8 sampleSizeInBits I
22 43 8 sampleSizeInBits I
33 34 9 fileSize I
35 36 9 fileSize I
37 43 9 fileSize I
8 43 10 convert8to16 Z
MethodParameters:
Name Flags
type
stream
private int writeAiffFile(java.io.InputStream, com.sun.media.sound.AiffFileFormat, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Lcom/sun/media/sound/AiffFileFormat;Ljava/io/OutputStream;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: aload 0
aload 2
aload 1
invokevirtual com.sun.media.sound.AiffFileWriter.getFileStream:(Lcom/sun/media/sound/AiffFileFormat;Ljava/io/InputStream;)Ljava/io/InputStream;
astore 6
start local 6 3: sipush 4096
newarray 8
astore 7
start local 7 4: aload 2
invokevirtual com.sun.media.sound.AiffFileFormat.getByteLength:()I
istore 8
start local 8 5: goto 18
6: StackMap locals: com.sun.media.sound.AiffFileWriter java.io.InputStream com.sun.media.sound.AiffFileFormat java.io.OutputStream int int java.io.InputStream byte[] int
StackMap stack:
iload 8
ifle 16
7: iload 4
iload 8
if_icmpge 12
8: aload 3
aload 7
iconst_0
iload 4
invokevirtual java.io.OutputStream.write:([BII)V
9: iload 5
iload 4
iadd
istore 5
10: iload 8
iload 4
isub
istore 8
11: goto 18
12: StackMap locals:
StackMap stack:
aload 3
aload 7
iconst_0
iload 8
invokevirtual java.io.OutputStream.write:([BII)V
13: iload 5
iload 8
iadd
istore 5
14: iconst_0
istore 8
15: goto 19
16: StackMap locals:
StackMap stack:
aload 3
aload 7
iconst_0
iload 4
invokevirtual java.io.OutputStream.write:([BII)V
17: iload 5
iload 4
iadd
istore 5
18: StackMap locals:
StackMap stack:
aload 6
aload 7
invokevirtual java.io.InputStream.read:([B)I
dup
istore 4
ifge 6
19: StackMap locals:
StackMap stack:
iload 5
ireturn
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 20 0 this Lcom/sun/media/sound/AiffFileWriter;
0 20 1 in Ljava/io/InputStream;
0 20 2 aiffFileFormat Lcom/sun/media/sound/AiffFileFormat;
0 20 3 out Ljava/io/OutputStream;
1 20 4 bytesRead I
2 20 5 bytesWritten I
3 20 6 fileStream Ljava/io/InputStream;
4 20 7 buffer [B
5 20 8 maxLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
aiffFileFormat
out
private java.io.InputStream getFileStream(com.sun.media.sound.AiffFileFormat, java.io.InputStream);
descriptor: (Lcom/sun/media/sound/AiffFileFormat;Ljava/io/InputStream;)Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=23, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.media.sound.AiffFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 1
invokevirtual com.sun.media.sound.AiffFileFormat.getHeaderSize:()I
istore 6
start local 6 4: aload 1
invokevirtual com.sun.media.sound.AiffFileFormat.getFverChunkSize:()I
pop
5: aload 1
invokevirtual com.sun.media.sound.AiffFileFormat.getCommChunkSize:()I
istore 7
start local 7 6: iconst_m1
istore 8
start local 8 7: iconst_m1
istore 9
start local 9 8: aload 1
invokevirtual com.sun.media.sound.AiffFileFormat.getSsndChunkOffset:()I
pop
9: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
i2s
istore 10
start local 10 10: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
i2s
istore 11
start local 11 11: iload 10
iload 11
bipush 7
iadd
bipush 8
idiv
imul
istore 12
start local 12 12: aload 1
invokevirtual com.sun.media.sound.AiffFileFormat.getFrameLength:()I
istore 13
start local 13 13: ldc -1
lstore 14
start local 14 14: iload 13
iconst_m1
if_icmpeq 18
15: iload 13
i2l
iload 12
i2l
lmul
lstore 14
16: lload 14
l2i
bipush 16
iadd
istore 9
17: lload 14
l2i
iload 6
iadd
istore 8
18: StackMap locals: com.sun.media.sound.AiffFileWriter com.sun.media.sound.AiffFileFormat java.io.InputStream javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding int int int int int int int int long
StackMap stack:
aload 3
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
fstore 16
start local 16 19: aconst_null
astore 17
start local 17 20: aload 2
astore 18
start local 18 21: aload 2
instanceof javax.sound.sampled.AudioInputStream
ifeq 53
22: aload 2
checkcast javax.sound.sampled.AudioInputStream
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 4
23: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
astore 5
24: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 5
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifne 26
25: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 5
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 38
aload 4
invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
ifne 38
26: StackMap locals: float byte[] java.io.InputStream
StackMap stack:
new javax.sound.sampled.AudioFormat
dup
27: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
28: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
29: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
30: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
31: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
32: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
33: iconst_1
34: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
35: aload 2
checkcast javax.sound.sampled.AudioInputStream
36: invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
astore 18
37: goto 53
StackMap locals:
StackMap stack:
38: getstatic javax.sound.sampled.AudioFormat$Encoding.ULAW:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 5
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifne 40
39: getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 5
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 53
40: StackMap locals:
StackMap stack:
aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
bipush 8
if_icmpeq 42
41: new java.lang.IllegalArgumentException
dup
ldc "unsupported encoding"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
new javax.sound.sampled.AudioFormat
dup
43: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
44: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
45: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
iconst_2
imul
46: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
47: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
iconst_2
imul
48: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
49: iconst_1
50: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
51: aload 2
checkcast javax.sound.sampled.AudioInputStream
52: invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
astore 18
53: StackMap locals:
StackMap stack:
aconst_null
astore 19
aconst_null
astore 20
54: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 21
start local 21 55: new java.io.DataOutputStream
dup
aload 21
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 22
start local 22 56: aload 22
ldc 1179603533
invokevirtual java.io.DataOutputStream.writeInt:(I)V
57: aload 22
iload 8
bipush 8
isub
invokevirtual java.io.DataOutputStream.writeInt:(I)V
58: aload 22
ldc 1095321158
invokevirtual java.io.DataOutputStream.writeInt:(I)V
59: aload 22
ldc 1129270605
invokevirtual java.io.DataOutputStream.writeInt:(I)V
60: aload 22
iload 7
bipush 8
isub
invokevirtual java.io.DataOutputStream.writeInt:(I)V
61: aload 22
iload 10
invokevirtual java.io.DataOutputStream.writeShort:(I)V
62: aload 22
iload 13
invokevirtual java.io.DataOutputStream.writeInt:(I)V
63: aload 22
iload 11
invokevirtual java.io.DataOutputStream.writeShort:(I)V
64: aload 0
aload 22
fload 16
invokevirtual com.sun.media.sound.AiffFileWriter.write_ieee_extended:(Ljava/io/DataOutputStream;F)V
65: aload 22
ldc 1397968452
invokevirtual java.io.DataOutputStream.writeInt:(I)V
66: aload 22
iload 9
bipush 8
isub
invokevirtual java.io.DataOutputStream.writeInt:(I)V
67: aload 22
iconst_0
invokevirtual java.io.DataOutputStream.writeInt:(I)V
68: aload 22
iconst_0
invokevirtual java.io.DataOutputStream.writeInt:(I)V
69: aload 21
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 17
70: aload 22
ifnull 73
aload 22
invokevirtual java.io.DataOutputStream.close:()V
goto 73
StackMap locals: com.sun.media.sound.AiffFileWriter com.sun.media.sound.AiffFileFormat java.io.InputStream javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding int int int int int int int int long float byte[] java.io.InputStream java.lang.Throwable java.lang.Throwable java.io.ByteArrayOutputStream java.io.DataOutputStream
StackMap stack: java.lang.Throwable
71: astore 19
aload 22
ifnull 72
aload 22
invokevirtual java.io.DataOutputStream.close:()V
end local 22 StackMap locals:
StackMap stack:
72: aload 19
athrow
StackMap locals:
StackMap stack:
73: aload 21
ifnull 81
aload 21
invokevirtual java.io.ByteArrayOutputStream.close:()V
goto 81
StackMap locals:
StackMap stack: java.lang.Throwable
74: astore 20
aload 19
ifnonnull 75
aload 20
astore 19
goto 76
StackMap locals:
StackMap stack:
75: aload 19
aload 20
if_acmpeq 76
aload 19
aload 20
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
76: aload 21
ifnull 77
aload 21
invokevirtual java.io.ByteArrayOutputStream.close:()V
end local 21 StackMap locals:
StackMap stack:
77: aload 19
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
78: astore 20
aload 19
ifnonnull 79
aload 20
astore 19
goto 80
StackMap locals:
StackMap stack:
79: aload 19
aload 20
if_acmpeq 80
aload 19
aload 20
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
80: aload 19
athrow
81: StackMap locals:
StackMap stack:
new java.io.SequenceInputStream
dup
new java.io.ByteArrayInputStream
dup
aload 17
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
82: new com.sun.media.sound.SunFileWriter$NoCloseInputStream
dup
aload 0
aload 18
invokespecial com.sun.media.sound.SunFileWriter$NoCloseInputStream.<init>:(Lcom/sun/media/sound/SunFileWriter;Ljava/io/InputStream;)V
83: invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
areturn
end local 18 end local 17 end local 16 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 84 0 this Lcom/sun/media/sound/AiffFileWriter;
0 84 1 aiffFileFormat Lcom/sun/media/sound/AiffFileFormat;
0 84 2 audioStream Ljava/io/InputStream;
1 84 3 format Ljavax/sound/sampled/AudioFormat;
2 84 4 streamFormat Ljavax/sound/sampled/AudioFormat;
3 84 5 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
4 84 6 headerSize I
6 84 7 commChunkSize I
7 84 8 aiffLength I
8 84 9 ssndChunkSize I
10 84 10 channels S
11 84 11 sampleSize S
12 84 12 ssndBlockSize I
13 84 13 numFrames I
14 84 14 dataSize J
19 84 16 sampleFramesPerSecond F
20 84 17 header [B
21 84 18 codedAudioStream Ljava/io/InputStream;
55 77 21 baos Ljava/io/ByteArrayOutputStream;
56 72 22 dos Ljava/io/DataOutputStream;
Exception table:
from to target type
56 70 71 any
55 73 74 any
54 78 78 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
aiffFileFormat
audioStream
private void write_ieee_extended(java.io.DataOutputStream, float);
descriptor: (Ljava/io/DataOutputStream;F)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=20, args_size=3
start local 0 start local 1 start local 2 0: fload 2
f2d
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 3
start local 3 1: lload 3
ldc -9223372036854775808
land
2: bipush 63
3: lshr
lstore 5
start local 5 4: lload 3
ldc 9218868437227405312
land
5: bipush 52
6: lshr
lstore 7
start local 7 7: lload 3
ldc 4503599627370495
land
lstore 9
start local 9 8: lload 7
ldc 1023
lsub
9: ldc 16383
10: ladd
lstore 11
start local 11 11: lload 9
12: bipush 11
13: lshl
lstore 13
start local 13 14: lload 5
bipush 15
lshl
lstore 15
start local 15 15: lload 15
lload 11
lor
l2i
i2s
istore 17
start local 17 16: ldc -9223372036854775808
lload 13
lor
lstore 18
start local 18 17: aload 1
iload 17
invokevirtual java.io.DataOutputStream.writeShort:(I)V
18: aload 1
lload 18
invokevirtual java.io.DataOutputStream.writeLong:(J)V
19: return
end local 18 end local 17 end local 15 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/media/sound/AiffFileWriter;
0 20 1 dos Ljava/io/DataOutputStream;
0 20 2 f F
1 20 3 doubleBits J
4 20 5 sign J
7 20 7 doubleExponent J
8 20 9 doubleMantissa J
11 20 11 extendedExponent J
14 20 13 extendedMantissa J
15 20 15 extendedSign J
16 20 17 extendedBits79To64 S
17 20 18 extendedBits63To0 J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dos
f
}
SourceFile: "AiffFileWriter.java"
InnerClasses:
final NoCloseInputStream = com.sun.media.sound.SunFileWriter$NoCloseInputStream of com.sun.media.sound.SunFileWriter
public Type = javax.sound.sampled.AudioFileFormat$Type of javax.sound.sampled.AudioFileFormat
public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat