// if (filter2 != null)\r
// filter2.setEQ(factors);\r
// }\r
+ @LATTICE("THIS<VAR,THISLOC=THIS,VAR*")\r
+ public void init( @LOC("THIS,Decoder.H") Header header) {\r
+ @LOC("VAR") float scalefactor = 32700.0f;\r
+\r
+ @LOC("THIS,Decoder.PARAM") int mode = header.mode();\r
+ @LOC("THIS,Decoder.PARAM") int layer = header.layer();\r
+ @LOC("THIS,Decoder.PARAM") int channels = mode == Header.SINGLE_CHANNEL ? 1 : 2;\r
+\r
+ // set up output buffer if not set up by client.\r
+ // if (output == null)\r
+ // output = new SampleBuffer(header.frequency(), channels);\r
+ SampleBufferWrapper.init(header.frequency(), channels);\r
+\r
+ @LOC("THIS,Decoder.FACTORS") float[] factors = equalizer.getBandFactors();\r
+ @LOC("THIS,Decoder.FILTER") SynthesisFilter filter1 =\r
+ new SynthesisFilter(0, scalefactor, factors);\r
+\r
+ // REVIEW: allow mono output for stereo\r
+ @LOC("THIS,Decoder.FILTER") SynthesisFilter filter2 = null;\r
+ if (channels == 2) {\r
+ filter2 = new SynthesisFilter(1, scalefactor, factors);\r
+ }\r
+\r
+ outputChannels = channels;\r
+ outputFrequency = header.frequency();\r
+\r
+ l3decoder = new LayerIIIDecoder(header,filter1, filter2, OutputChannels.BOTH_CHANNELS);\r
+\r
+ }\r
\r
/**\r
* Decodes one frame from an MPEG audio bitstream.\r
@LATTICE("THIS<VAR,THISLOC=THIS,VAR*")\r
public void decodeFrame(@LOC("THIS,Decoder.H") Header header) throws DecoderException {\r
\r
- if (!initialized) {\r
- @LOC("VAR") float scalefactor = 32700.0f;\r
-\r
- @LOC("THIS,Decoder.PARAM") int mode = header.mode();\r
- @LOC("THIS,Decoder.PARAM") int layer = header.layer();\r
- @LOC("THIS,Decoder.PARAM") int channels = mode == Header.SINGLE_CHANNEL ? 1 : 2;\r
-\r
- // set up output buffer if not set up by client.\r
- // if (output == null)\r
- // output = new SampleBuffer(header.frequency(), channels);\r
- SampleBufferWrapper.init(header.frequency(), channels);\r
-\r
- @LOC("THIS,Decoder.FACTORS") float[] factors = equalizer.getBandFactors();\r
- @LOC("THIS,Decoder.FILTER") SynthesisFilter filter1 =\r
- new SynthesisFilter(0, scalefactor, factors);\r
-\r
- // REVIEW: allow mono output for stereo\r
- @LOC("THIS,Decoder.FILTER") SynthesisFilter filter2 = null;\r
- if (channels == 2) {\r
- filter2 = new SynthesisFilter(1, scalefactor, factors);\r
- }\r
-\r
- outputChannels = channels;\r
- outputFrequency = header.frequency();\r
-\r
- l3decoder = new LayerIIIDecoder(filter1, filter2, OutputChannels.BOTH_CHANNELS);\r
-\r
- initialized = true;\r
- }\r
-\r
SampleBufferWrapper.clear_buffer();\r
l3decoder.decode(header);\r
// SampleBufferWrapper.getOutput().write_buffer(1);\r