have linear-type-safe source codes of mp3decoder
[IRC.git] / Robust / src / Tests / ssJava / mp3decoder / Player.java
index 3d59e83c1b037e37714b7e01e10b7d9155929f6e..2c54b3d741cc763e31dd94a6e9fcf1f0fb202e71 100644 (file)
@@ -1,3 +1,5 @@
+import java.awt.image.SampleModel;\r
+\r
 import FileOutputStream;\r
 \r
 /*\r
@@ -41,9 +43,7 @@ public class Player {
   /**\r
    * The MPEG audio bitstream.\r
    */\r
-  // javac blank final bug.\r
-  /* final */@LOC("ST")\r
-  private Bitstream bitstream;\r
+  // private Bitstream bitstream;\r
 \r
   /**\r
    * The MPEG audio decoder.\r
@@ -74,12 +74,12 @@ public class Player {
   /**\r
    * Creates a new <code>Player</code> instance.\r
    */\r
-  public Player(InputStream stream) throws JavaLayerException {\r
-    this(stream, null);\r
+  public Player() throws JavaLayerException {\r
+    this(null);\r
   }\r
 \r
-  public Player(InputStream stream, AudioDevice device) throws JavaLayerException {\r
-    bitstream = new Bitstream(stream);\r
+  public Player(AudioDevice device) throws JavaLayerException {\r
+    // bitstream = new Bitstream(stream);\r
     decoder = new Decoder();\r
 \r
     // if (device!=null)\r
@@ -112,15 +112,11 @@ public class Player {
   public boolean play(@LOC("IN") int frames) throws JavaLayerException {\r
     @LOC("IN") boolean ret = true;\r
 \r
-    // FileOutputStream fos = new FileOutputStream("output.txt");\r
-\r
     int count = 0;\r
     SSJAVA: while (frames-- > 0 && ret) {\r
       ret = decodeFrame();\r
     }\r
 \r
-    // fos.flush();\r
-    // fos.close();\r
     /*\r
      * if (!ret) { // last frame, ensure all data flushed to the audio device.\r
      * AudioDevice out = audio; if (out!=null) { out.flush(); synchronized\r
@@ -183,25 +179,22 @@ public class Player {
       // if (out==null)\r
       // return false;\r
 \r
-      Header h = bitstream.readFrame();\r
+      // Header h = bitstream.readFrame();\r
+      Header h = BitstreamWrapper.readFrame();\r
 \r
       if (h == null)\r
         return false;\r
 \r
-      // eom debug\r
-      // System.out.println("header framesize=" + h.framesize);\r
-      // System.out.println("br total="+h.getBitReserve().hsstell());\r
-      //\r
-\r
-      // sample buffer set when decoder constructed\r
-      @LOC("O") SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h, bitstream);\r
+      // @LOC("O") SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h);\r
+      decoder.decodeFrame(h);\r
 \r
       // eom debug\r
-      int sum=0;\r
-      short[] outbuf = output.getBuffer();\r
-      for (int i = 0; i < output.getBufferLength(); i++) {\r
-//        System.out.println(outbuf[i]);\r
-        sum+=outbuf[i];\r
+      int sum = 0;\r
+      short[] outbuf = SampleBufferWrapper.getOutput().getBuffer();\r
+      // short[] outbuf = output.getBuffer();\r
+      for (int i = 0; i < SampleBufferWrapper.getOutput().getBufferLength(); i++) {\r
+        // System.out.println(outbuf[i]);\r
+        sum += outbuf[i];\r
       }\r
       System.out.println(sum);\r
       //\r