public final class com.sun.media.sound.AuFileWriter 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.AuFileWriter
super_class: com.sun.media.sound.SunFileWriter
{
private static final int UNKNOWN_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
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.AU: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/AuFileWriter;
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.AuFileWriter.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.AuFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
iconst_0
aload 2
iconst_0
aload 0
getfield com.sun.media.sound.AuFileWriter.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 9
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 9
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 9
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
ifne 9
8: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_FLOAT:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 4
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 10
9: StackMap locals: javax.sound.sampled.AudioFileFormat$Type[] javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding
StackMap stack:
aload 2
areturn
10: 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 11 0 this Lcom/sun/media/sound/AuFileWriter;
0 11 1 stream Ljavax/sound/sampled/AudioInputStream;
1 11 2 filetypes [Ljavax/sound/sampled/AudioFileFormat$Type;
3 11 3 format Ljavax/sound/sampled/AudioFormat;
4 11 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.AuFileWriter.getAudioFileFormat:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
checkcast com.sun.media.sound.AuFileFormat
astore 4
start local 4 4: aload 0
aload 1
aload 4
aload 3
invokevirtual com.sun.media.sound.AuFileWriter.writeAuFile:(Ljavax/sound/sampled/AudioInputStream;Lcom/sun/media/sound/AuFileFormat;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 5 0 this Lcom/sun/media/sound/AuFileWriter;
0 5 1 stream Ljavax/sound/sampled/AudioInputStream;
0 5 2 fileType Ljavax/sound/sampled/AudioFileFormat$Type;
0 5 3 out Ljava/io/OutputStream;
4 5 4 auFileFormat Lcom/sun/media/sound/AuFileFormat;
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=9, 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.AuFileWriter.getAudioFileFormat:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
checkcast com.sun.media.sound.AuFileFormat
astore 4
start local 4 4: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 5
start local 5 5: new java.io.BufferedOutputStream
dup
aload 5
sipush 4096
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
astore 6
start local 6 6: aload 0
aload 1
aload 4
aload 6
invokevirtual com.sun.media.sound.AuFileWriter.writeAuFile:(Ljavax/sound/sampled/AudioInputStream;Lcom/sun/media/sound/AuFileFormat;Ljava/io/OutputStream;)I
istore 7
start local 7 7: aload 6
invokevirtual java.io.BufferedOutputStream.close:()V
8: aload 4
invokevirtual com.sun.media.sound.AuFileFormat.getByteLength:()I
iconst_m1
if_icmpne 14
9: new java.io.RandomAccessFile
dup
aload 3
ldc "rw"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 8
start local 8 10: aload 8
invokevirtual java.io.RandomAccessFile.length:()J
ldc 2147483647
lcmp
ifgt 13
11: aload 8
bipush 8
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
12: aload 8
iload 7
bipush 24
isub
invokevirtual java.io.RandomAccessFile.writeInt:(I)V
13: StackMap locals: com.sun.media.sound.AuFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.AuFileFormat java.io.FileOutputStream java.io.BufferedOutputStream int java.io.RandomAccessFile
StackMap stack:
aload 8
invokevirtual java.io.RandomAccessFile.close:()V
end local 8 14: StackMap locals:
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 15 0 this Lcom/sun/media/sound/AuFileWriter;
0 15 1 stream Ljavax/sound/sampled/AudioInputStream;
0 15 2 fileType Ljavax/sound/sampled/AudioFileFormat$Type;
0 15 3 out Ljava/io/File;
4 15 4 auFileFormat Lcom/sun/media/sound/AuFileFormat;
5 15 5 fos Ljava/io/FileOutputStream;
6 15 6 bos Ljava/io/BufferedOutputStream;
7 15 7 bytesWritten I
10 14 8 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=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.sun.media.sound.AuFileWriter.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:
aload 2
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.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
aload 4
invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
ifeq 6
5: getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
astore 4
6: StackMap locals: javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding
StackMap stack:
new javax.sound.sampled.AudioFormat
dup
aload 4
7: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
8: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
9: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
10: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
11: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
iconst_1
12: invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
astore 5
start local 5 13: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
ldc -1
lcmp
ifeq 16
14: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
l2i
aload 3
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
imul
bipush 24
iadd
istore 6
start local 6 15: goto 17
end local 6 16: StackMap locals: javax.sound.sampled.AudioFormat
StackMap stack:
iconst_m1
istore 6
start local 6 17: StackMap locals: int
StackMap stack:
new com.sun.media.sound.AuFileFormat
dup
getstatic javax.sound.sampled.AudioFileFormat$Type.AU:Ljavax/sound/sampled/AudioFileFormat$Type;
iload 6
i2l
aload 5
18: aload 2
invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
l2i
i2l
19: invokespecial com.sun.media.sound.AuFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;JLjavax/sound/sampled/AudioFormat;J)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/media/sound/AuFileWriter;
0 20 1 type Ljavax/sound/sampled/AudioFileFormat$Type;
0 20 2 stream Ljavax/sound/sampled/AudioInputStream;
3 20 3 streamFormat Ljavax/sound/sampled/AudioFormat;
4 20 4 encoding Ljavax/sound/sampled/AudioFormat$Encoding;
13 20 5 format Ljavax/sound/sampled/AudioFormat;
15 16 6 fileSize I
17 20 6 fileSize I
MethodParameters:
Name Flags
type
stream
private java.io.InputStream getFileStream(com.sun.media.sound.AuFileFormat, javax.sound.sampled.AudioInputStream);
descriptor: (Lcom/sun/media/sound/AuFileFormat;Ljavax/sound/sampled/AudioInputStream;)Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.media.sound.AuFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
astore 3
start local 3 1: bipush 24
istore 4
start local 4 2: aload 1
invokevirtual com.sun.media.sound.AuFileFormat.getFrameLength:()I
i2l
lstore 5
start local 5 3: lload 5
ldc -1
lcmp
ifne 4
ldc -1
goto 5
StackMap locals: javax.sound.sampled.AudioFormat int long
StackMap stack:
4: lload 5
aload 3
invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
i2l
lmul
StackMap locals:
StackMap stack: long
5: lstore 7
start local 7 6: lload 7
ldc 2147483647
lcmp
ifle 8
7: ldc -1
lstore 7
8: StackMap locals: long
StackMap stack:
aload 1
invokevirtual com.sun.media.sound.AuFileFormat.getAuType:()I
istore 9
start local 9 9: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
f2i
istore 10
start local 10 10: aload 3
invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
istore 11
start local 11 11: aconst_null
astore 12
start local 12 12: aconst_null
astore 13
start local 13 13: aconst_null
astore 14
start local 14 14: aconst_null
astore 15
start local 15 15: aconst_null
astore 16
start local 16 16: aload 3
aload 2
invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
astore 2
17: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 14
18: new java.io.DataOutputStream
dup
aload 14
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 15
19: aload 15
ldc 779316836
invokevirtual java.io.DataOutputStream.writeInt:(I)V
20: aload 15
iload 4
invokevirtual java.io.DataOutputStream.writeInt:(I)V
21: aload 15
lload 7
l2i
invokevirtual java.io.DataOutputStream.writeInt:(I)V
22: aload 15
iload 9
invokevirtual java.io.DataOutputStream.writeInt:(I)V
23: aload 15
iload 10
invokevirtual java.io.DataOutputStream.writeInt:(I)V
24: aload 15
iload 11
invokevirtual java.io.DataOutputStream.writeInt:(I)V
25: aload 15
invokevirtual java.io.DataOutputStream.close:()V
26: aload 14
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 12
27: new java.io.ByteArrayInputStream
dup
aload 12
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 13
28: new java.io.SequenceInputStream
dup
aload 13
29: new com.sun.media.sound.SunFileWriter$NoCloseInputStream
dup
aload 0
aload 2
invokespecial com.sun.media.sound.SunFileWriter$NoCloseInputStream.<init>:(Lcom/sun/media/sound/SunFileWriter;Ljava/io/InputStream;)V
30: invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
astore 16
31: aload 16
areturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 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 this Lcom/sun/media/sound/AuFileWriter;
0 32 1 auFileFormat Lcom/sun/media/sound/AuFileFormat;
0 32 2 audioStream Ljavax/sound/sampled/AudioInputStream;
1 32 3 format Ljavax/sound/sampled/AudioFormat;
2 32 4 headerSize I
3 32 5 dataSize J
6 32 7 dataSizeInBytes J
9 32 9 auType I
10 32 10 sampleRate I
11 32 11 channels I
12 32 12 header [B
13 32 13 headerStream Ljava/io/ByteArrayInputStream;
14 32 14 baos Ljava/io/ByteArrayOutputStream;
15 32 15 dos Ljava/io/DataOutputStream;
16 32 16 auStream Ljava/io/SequenceInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
auFileFormat
audioStream
private int writeAuFile(javax.sound.sampled.AudioInputStream, com.sun.media.sound.AuFileFormat, java.io.OutputStream);
descriptor: (Ljavax/sound/sampled/AudioInputStream;Lcom/sun/media/sound/AuFileFormat;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.AuFileWriter.getFileStream:(Lcom/sun/media/sound/AuFileFormat;Ljavax/sound/sampled/AudioInputStream;)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.AuFileFormat.getByteLength:()I
istore 8
start local 8 5: goto 18
6: StackMap locals: com.sun.media.sound.AuFileWriter javax.sound.sampled.AudioInputStream com.sun.media.sound.AuFileFormat 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/AuFileWriter;
0 20 1 in Ljavax/sound/sampled/AudioInputStream;
0 20 2 auFileFormat Lcom/sun/media/sound/AuFileFormat;
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
auFileFormat
out
}
SourceFile: "AuFileWriter.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