get rid of the stream parsing that occurs in the Layer III decoder. BitStream.readFra...
[IRC.git] / Robust / src / Tests / ssJava / mp3decoder / Player.java
index d898e9124f6f7e8d4411d4dce6628fcbe4b436cf..75d5863b5e07491e711e22bbcef88f301a7777d1 100644 (file)
@@ -32,7 +32,7 @@
 \r
 // REVIEW: the audio device should not be opened until the\r
 // first MPEG audio frame has been decoded. \r
-@LATTICE("B<DE,DE<ST,HE<ST,ST<FR")\r
+@LATTICE("B<DE,DE<ST,DE<HE,HE<ST,ST<FR")\r
 public class Player\r
 {              \r
        /**\r
@@ -68,8 +68,6 @@ public class Player
 \r
        @LOC("B") private int                   lastPosition = 0;\r
        \r
-       @LOC("HE") private Header header;\r
-       \r
        /**\r
         * Creates a new <code>Player</code> instance. \r
         */\r
@@ -84,11 +82,6 @@ public class Player
                bitstream = new Bitstream(stream);              \r
                decoder = new Decoder();\r
                \r
-               // decoder initialization\r
-               // taking out from ssjava loop \r
-               header = bitstream.readFrame();  \r
-               decoder.initialize(header, bitstream);\r
-                               \r
 //             if (device!=null)\r
 //             {               \r
 //                     audio = device;\r
@@ -209,7 +202,7 @@ public class Player
         * \r
         * @return true if there are no more frames to decode, false otherwise.\r
         */\r
-       @LATTICE("O,THISLOC=O")\r
+       @LATTICE("O<TH,THISLOC=TH")\r
        @RETURNLOC("O")\r
        protected boolean decodeFrame() throws JavaLayerException\r
        {               \r
@@ -219,13 +212,13 @@ public class Player
                        //if (out==null)\r
                        //      return false;\r
 \r
-//                     Header h = bitstream.readFrame();       \r
-//                     \r
-//                     if (h==null)\r
-//                             return false;\r
+                       Header h = bitstream.readFrame();       \r
+                       \r
+                       if (h==null)\r
+                               return false;\r
                                \r
                        // sample buffer set when decoder constructed\r
-                       @LOC("O") SampleBuffer output = (SampleBuffer)decoder.decodeFrame(header, bitstream);\r
+                       @LOC("O") SampleBuffer output = (SampleBuffer)decoder.decodeFrame(h, bitstream);\r
                                                                                                                                                                                                                                                                                                        \r
                        //synchronized (this)\r
                        //{\r