layer() public method

Returns Layer ID.
public layer ( ) : int
return int
示例#1
0
文件: Decoder.cs 项目: rejc2/utils
        private void  initialize(Header header)
        {
            // REVIEW: allow customizable scale factor
            float scalefactor = 32700.0f;

            int mode     = header.mode();
            int layer    = header.layer();
            int channels = mode == Header.SINGLE_CHANNEL?1:2;


            // set up output buffer if not set up by client.
            if (output == null)
            {
                output = new SampleBuffer(header.frequency(), channels);
            }

            float[] factors = equalizer.BandFactors;
            //Console.WriteLine("NOT CREATING SYNTHESIS FILTERS");
            filter1 = new SynthesisFilter(0, scalefactor, factors);

            // REVIEW: allow mono output for stereo
            if (channels == 2)
            {
                filter2 = new SynthesisFilter(1, scalefactor, factors);
            }

            outputChannels  = channels;
            outputFrequency = header.frequency();

            initialized = true;
        }
示例#2
0
文件: Decoder.cs 项目: rejc2/utils
        /// <summary> Decodes one frame from an MPEG audio bitstream.
        ///
        /// </summary>
        /// <param name="header		The">header describing the frame to decode.
        /// </param>
        /// <param name="bitstream		The">bistream that provides the bits for te body of the frame.
        ///
        /// </param>
        /// <returns> A SampleBuffer containing the decoded samples.
        ///
        /// </returns>
        public virtual Obuffer decodeFrame(Header header, Bitstream stream)
        {
            if (!initialized)
            {
                initialize(header);
            }

            int layer = header.layer();

            output.clear_buffer();

            FrameDecoder decoder = retrieveDecoder(header, stream, layer);

            decoder.decodeFrame();

            output.write_buffer(1);

            return(output);
        }
示例#3
0
        private void initialize(Header header)
        {
            // REVIEW: allow customizable scale factor
            float scalefactor = 32700.0f;

            int mode = header.mode();
            int layer = header.layer();
            int channels = mode == Header.SINGLE_CHANNEL?1:2;

            // set up output buffer if not set up by client.
            if (output == null)
                output = new SampleBuffer(header.frequency(), channels);

            float[] factors = equalizer.BandFactors;
            //Console.WriteLine("NOT CREATING SYNTHESIS FILTERS");
            filter1 = new SynthesisFilter(0, scalefactor, factors);

            // REVIEW: allow mono output for stereo
            if (channels == 2)
                filter2 = new SynthesisFilter(1, scalefactor, factors);

            outputChannels = channels;
            outputFrequency = header.frequency();

            initialized = true;
        }
示例#4
0
        /// <summary> Decodes one frame from an MPEG audio bitstream.
        /// 
        /// </summary>
        /// <param name="header		The">header describing the frame to decode.
        /// </param>
        /// <param name="bitstream		The">bistream that provides the bits for te body of the frame. 
        /// 
        /// </param>
        /// <returns> A SampleBuffer containing the decoded samples.
        /// 
        /// </returns>
        public virtual Obuffer decodeFrame(Header header, Bitstream stream)
        {
            if (!initialized)
            {
                initialize(header);
            }

            int layer = header.layer();

            output.clear_buffer();

            FrameDecoder decoder = retrieveDecoder(header, stream, layer);

            decoder.decodeFrame();

            output.write_buffer(1);

            return output;
        }