< prev index next >

test/javax/sound/sampled/spi/AudioFileReader/RecognizeHugeWaveFiles.java

Print this page

        

@@ -28,24 +28,34 @@
 import javax.sound.sampled.AudioInputStream;
 import javax.sound.sampled.AudioSystem;
 
 /**
  * @test
- * @bug 8132782
+ * @bug 8132782 6729836
  */
-public final class RecognizeHugeWaveFloatFiles {
+public final class RecognizeHugeWaveFiles {
 
     /**
      * The maximum size in bytes per WAVE specification.
      */
     private static final /*unsigned int */ long MAX_UNSIGNED_INT = 0xffffffffL;
 
     /**
      * The  supported wave pcm_float format and sample size in bits.
      */
     private static final byte[][] waveTypeBits = {
-            {0x0003/*WAVE_FORMAT_IEEE_FLOAT*/, 32}
+            {0x0001/*WAVE_FORMAT_PCM*/,1},
+            {0x0001/*WAVE_FORMAT_PCM*/,2},
+            {0x0001/*WAVE_FORMAT_PCM*/,4},
+            {0x0001/*WAVE_FORMAT_PCM*/,8},
+            {0x0001/*WAVE_FORMAT_PCM*/,16},
+            {0x0001/*WAVE_FORMAT_PCM*/,20},
+            {0x0001/*WAVE_FORMAT_PCM*/,24},
+            {0x0001/*WAVE_FORMAT_PCM*/,32},
+            {0x0003/*WAVE_FORMAT_IEEE_FLOAT*/, 32},
+            {0x0006/*WAVE_FORMAT_ALAW*/, 8},
+            {0x0007/*WAVE_FORMAT_MULAW*/, 8}
     };
 
     /**
      * The list of supported sample rates(stored as unsigned int).
      */

@@ -123,11 +133,11 @@
 
     /**
      * Tests the {@code AudioInputStream} fetched from the fake header.
      * <p>
      * Note that the frameLength is stored as long which means that {@code
-     * AudioInputStream} must store all possible data from au file.
+     * AudioInputStream} must store all possible data from wave file.
      */
     private static void testAIS(final byte[] type, final int rate,
                                 final int channel, final long size)
             throws Exception {
         final byte[] header = createHeader(type, rate, channel, size);

@@ -164,12 +174,13 @@
         if (format.getChannels() != channel) {
             System.err.println("Expected: " + channel);
             System.err.println("Actual: " + format.getChannels());
             throw new RuntimeException();
         }
-        if (format.getFrameSize() != ((bits + 7) / 8) * channel) {
-            System.err.println("Expected: " + (bits * channel + 1) / 8);
+        int frameSize = ((bits + 7) / 8) * channel;
+        if (format.getFrameSize() != frameSize) {
+            System.err.println("Expected: " + frameSize);
             System.err.println("Actual: " + format.getFrameSize());
             throw new RuntimeException();
         }
     }
 
< prev index next >