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=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: 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 1: aload 1
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
ldc -1
lcmp
ifne 3
2: new java.io.IOException
dup
ldc "stream length not specified"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: 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
istore 5
start local 5 4: 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 5 0 this Lcom/sun/media/sound/AiffFileWriter;
0 5 1 stream Ljavax/sound/sampled/AudioInputStream;
0 5 2 fileType Ljavax/sound/sampled/AudioFileFormat$Type;
0 5 3 out Ljava/io/OutputStream;
1 5 4 aiffFileFormat Lcom/sun/media/sound/AiffFileFormat;
4 5 5 bytesWritten I
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=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: 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 1: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 5
start local 5 2: new java.io.BufferedOutputStream
dup
aload 5
sipush 4096
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
astore 6
start local 6 3: aload 0
aload 1
aload 4
aload 6
invokevirtual com.sun.media.sound.AiffFileWriter.writeAiffFile:(Ljava/io/InputStream;Lcom/sun/media/sound/AiffFileFormat;Ljava/io/OutputStream;)I
istore 7
start local 7 4: aload 6
invokevirtual java.io.BufferedOutputStream.close:()V
5: aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getByteLength:()I
iconst_m1
if_icmpne 19
6: aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
imul
istore 8
start local 8 7: iload 7
istore 9
start local 9 8: iload 9
aload 4
invokevirtual com.sun.media.sound.AiffFileFormat.getHeaderSize:()I
isub
bipush 16
iadd
istore 10
start local 10 9: iload 10
bipush 16
isub
i2l
lstore 11
start local 11 10: lload 11
ldc 8
lmul
iload 8
i2l
ldiv
l2i
istore 13
start local 13 11: new java.io.RandomAccessFile
dup
aload 3
ldc "rw"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 14
start local 14 12: aload 14
iconst_4
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
13: aload 14
iload 9
bipush 8
isub
invokevirtual java.io.RandomAccessFile.writeInt:(I)V
14: aload 14
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
15: aload 14
iload 13
invokevirtual java.io.RandomAccessFile.writeInt:(I)V
16: aload 14
bipush 16
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
17: aload 14
iload 10
bipush 8
isub
invokevirtual java.io.RandomAccessFile.writeInt:(I)V
18: aload 14
invokevirtual java.io.RandomAccessFile.close:()V
end local 14 end local 13 end local 11 end local 10 end local 9 end local 8 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 java.io.FileOutputStream java.io.BufferedOutputStream int
StackMap stack:
iload 7
ireturn
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 stream Ljavax/sound/sampled/AudioInputStream;
0 20 2 fileType Ljavax/sound/sampled/AudioFileFormat$Type;
0 20 3 out Ljava/io/File;
1 20 4 aiffFileFormat Lcom/sun/media/sound/AiffFileFormat;
2 20 5 fos Ljava/io/FileOutputStream;
3 20 6 bos Ljava/io/BufferedOutputStream;
4 20 7 bytesWritten I
7 19 8 ssndBlockSize I
8 19 9 aiffLength I
9 19 10 ssndChunkSize I
10 19 11 dataSize J
11 19 13 numFrames I
12 19 14 raf Ljava/io/RandomAccessFile;
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: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 5
start local 5 3: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 6
start local 6 4: aload 6
invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
astore 7
start local 7 5: iconst_0
istore 10
start local 10 6: aload 0
getfield com.sun.media.sound.AiffFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
iconst_0
aaload
aload 1
invokevirtual javax.sound.sampled.AudioFileFormat$Type.equals:(Ljava/lang/Object;)Z
ifne 8
7: 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
8: 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:
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:
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
39: aload 3
40: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
l2i
41: invokespecial com.sun.media.sound.AiffFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;ILjavax/sound/sampled/AudioFormat;I)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;
1 43 3 format Ljavax/sound/sampled/AudioFormat;
2 43 4 fileFormat Lcom/sun/media/sound/AiffFileFormat;
3 43 5 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
4 43 6 streamFormat Ljavax/sound/sampled/AudioFormat;
5 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
6 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
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
ldc 8
ldiv
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: aconst_null
astore 18
start local 18 21: aconst_null
astore 19
start local 19 22: aconst_null
astore 20
start local 20 23: aconst_null
astore 21
start local 21 24: aload 2
astore 22
start local 22 25: aload 2
instanceof javax.sound.sampled.AudioInputStream
ifeq 57
26: aload 2
checkcast javax.sound.sampled.AudioInputStream
invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 4
27: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
astore 5
28: 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 30
29: 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 42
aload 4
invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
ifne 42
30: 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.ByteArrayInputStream java.io.ByteArrayOutputStream java.io.DataOutputStream java.io.SequenceInputStream java.io.InputStream
StackMap stack:
new javax.sound.sampled.AudioFormat
dup
31: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
32: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
33: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
34: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
35: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
36: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
37: iconst_1
38: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
39: aload 2
checkcast javax.sound.sampled.AudioInputStream
40: invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
astore 22
41: goto 57
StackMap locals:
StackMap stack:
42: 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 44
43: 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 57
44: StackMap locals:
StackMap stack:
aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
bipush 8
if_icmpeq 46
45: new java.lang.IllegalArgumentException
dup
ldc "unsupported encoding"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
new javax.sound.sampled.AudioFormat
dup
47: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
48: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
49: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
iconst_2
imul
50: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
51: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
iconst_2
imul
52: aload 4
invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
53: iconst_1
54: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
55: aload 2
checkcast javax.sound.sampled.AudioInputStream
56: invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
astore 22
57: StackMap locals:
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 19
58: new java.io.DataOutputStream
dup
aload 19
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 20
59: aload 20
ldc 1179603533
invokevirtual java.io.DataOutputStream.writeInt:(I)V
60: aload 20
iload 8
bipush 8
isub
invokevirtual java.io.DataOutputStream.writeInt:(I)V
61: aload 20
ldc 1095321158
invokevirtual java.io.DataOutputStream.writeInt:(I)V
62: aload 20
ldc 1129270605
invokevirtual java.io.DataOutputStream.writeInt:(I)V
63: aload 20
iload 7
bipush 8
isub
invokevirtual java.io.DataOutputStream.writeInt:(I)V
64: aload 20
iload 10
invokevirtual java.io.DataOutputStream.writeShort:(I)V
65: aload 20
iload 13
invokevirtual java.io.DataOutputStream.writeInt:(I)V
66: aload 20
iload 11
invokevirtual java.io.DataOutputStream.writeShort:(I)V
67: aload 0
aload 20
fload 16
invokevirtual com.sun.media.sound.AiffFileWriter.write_ieee_extended:(Ljava/io/DataOutputStream;F)V
68: aload 20
ldc 1397968452
invokevirtual java.io.DataOutputStream.writeInt:(I)V
69: aload 20
iload 9
bipush 8
isub
invokevirtual java.io.DataOutputStream.writeInt:(I)V
70: aload 20
iconst_0
invokevirtual java.io.DataOutputStream.writeInt:(I)V
71: aload 20
iconst_0
invokevirtual java.io.DataOutputStream.writeInt:(I)V
72: aload 20
invokevirtual java.io.DataOutputStream.close:()V
73: aload 19
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 17
74: new java.io.ByteArrayInputStream
dup
aload 17
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 18
75: new java.io.SequenceInputStream
dup
aload 18
76: new com.sun.media.sound.SunFileWriter$NoCloseInputStream
dup
aload 0
aload 22
invokespecial com.sun.media.sound.SunFileWriter$NoCloseInputStream.<init>:(Lcom/sun/media/sound/SunFileWriter;Ljava/io/InputStream;)V
77: invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
astore 21
78: aload 21
areturn
end local 22 end local 21 end local 20 end local 19 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 79 0 this Lcom/sun/media/sound/AiffFileWriter;
0 79 1 aiffFileFormat Lcom/sun/media/sound/AiffFileFormat;
0 79 2 audioStream Ljava/io/InputStream;
1 79 3 format Ljavax/sound/sampled/AudioFormat;
2 79 4 streamFormat Ljavax/sound/sampled/AudioFormat;
3 79 5 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
4 79 6 headerSize I
6 79 7 commChunkSize I
7 79 8 aiffLength I
8 79 9 ssndChunkSize I
10 79 10 channels S
11 79 11 sampleSize S
12 79 12 ssndBlockSize I
13 79 13 numFrames I
14 79 14 dataSize J
19 79 16 sampleFramesPerSecond F
20 79 17 header [B
21 79 18 headerStream Ljava/io/ByteArrayInputStream;
22 79 19 baos Ljava/io/ByteArrayOutputStream;
23 79 20 dos Ljava/io/DataOutputStream;
24 79 21 aiffStream Ljava/io/SequenceInputStream;
25 79 22 codedAudioStream Ljava/io/InputStream;
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