add batch-mode script
[IRC.git] / Robust / src / Benchmarks / SSJava / MP3Decoder / Player.java
index 7b2f8beb8751a813415bf3545df9e63036ec937d..568a249aff836c3d95e078b86000f660ece2005e 100644 (file)
@@ -71,10 +71,9 @@ public class Player {
   @LOC("B")\r
   private int lastPosition = 0;\r
 \r
-\r
+  @LOC("B")\r
   private long sampleNumber;\r
 \r
-\r
   /**\r
    * Creates a new <code>Player</code> instance.\r
    */\r
@@ -122,10 +121,10 @@ public class Player {
     decoder.init(h);\r
 \r
     sampleNumber = 1;\r
-    System.out.println( "Gobble sentinel: +++" );\r
+    System.out.println("Gobble sentinel: +++");\r
 \r
-    @LOC("IN") int count = 0;\r
-    SSJAVA: while (count++ < 2147483646) {\r
+    // @LOC("IN") int count = 0;\r
+    SSJAVA: while (true) {\r
       if (h == null) {\r
         break;\r
       }\r
@@ -185,7 +184,6 @@ public class Player {
     return 0;\r
   }\r
 \r
-\r
   /**\r
    * Decodes a single frame.\r
    * \r
@@ -208,25 +206,8 @@ public class Player {
       // @LOC("O") SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h);\r
       decoder.decodeFrame(h);\r
 \r
-      // eom debug\r
-      @LOC("C") int sum = 0;\r
-      @LOC("C") short[] outbuf = SampleBufferWrapper.getBuffer();\r
-      // short[] outbuf = output.getBuffer();\r
-      TERMINATE: for (@LOC("C") int i = 0; i < SampleBufferWrapper.getBufferLength(); i++) {\r
-        // System.out.println(outbuf[i]);\r
-        sum += outbuf[i];\r
-      }\r
-      //System.out.println(sum);\r
-      //\r
-\r
-      int stride = outbuf.length / 100;\r
-      for( int i = 0; i < 100; ++i ) {\r
-        System.out.println( sampleNumber+" "+outbuf[i*stride] );\r
-        sampleNumber++;\r
-      }\r
-\r
-\r
-\r
+     // DEBUG_OUTPUT_CHECKSUM();\r
+       DEBUG_OUTPUT();\r
       // synchronized (this)\r
       // {\r
       // out = audio;\r
@@ -252,4 +233,29 @@ public class Player {
     return true;\r
   }\r
 \r
+  @TRUST\r
+  public void DEBUG_OUTPUT() {\r
+    // it looks like there is left and right channel interleaved into the\r
+    // output buffer, so only sample one channel (stride=2)\r
+    short[] outbuf = SampleBufferWrapper.getBuffer();\r
+    for (int i = 0; i < SampleBufferWrapper.getBufferLength(); i = i + 2) {\r
+      System.out.println(sampleNumber + " " + outbuf[i]);\r
+      sampleNumber++;\r
+    }\r
+  }\r
+\r
+  @TRUST\r
+  public void DEBUG_OUTPUT_CHECKSUM() {\r
+    // eom debug\r
+    @LOC("C") int sum = 0;\r
+    @LOC("C") short[] outbuf = SampleBufferWrapper.getBuffer();\r
+    // short[] outbuf = output.getBuffer();\r
+    TERMINATE: for (@LOC("C") int i = 0; i < SampleBufferWrapper.getBufferLength(); i++) {\r
+      // System.out.println(outbuf[i]);\r
+      sum += outbuf[i];\r
+    }\r
+    System.out.println(sum);\r
+    //\r
+  }\r
+\r
 }\r