javazoom.jl.decoder.LayerIIDecoder.SubbandLayer2Stereo.put_next_sample C# (CSharp) Method

put_next_sample() public method

*
public put_next_sample ( int channels, SynthesisFilter filter1, SynthesisFilter filter2 ) : bool
channels int
filter1 SynthesisFilter
filter2 SynthesisFilter
return bool
            public override bool put_next_sample(int channels, SynthesisFilter filter1, SynthesisFilter filter2)
            {
                bool returnvalue = base.put_next_sample(channels, filter1, filter2);
                if ((channel2_allocation != 0) && (channels != OutputChannels.LEFT_CHANNEL))
                {
                    float sample = channel2_samples[samplenumber - 1];

                    if (groupingtable[1] == null)
                        sample = (sample + channel2_d[0]) * channel2_c[0];

                    if (groupnumber <= 4)
                        sample *= channel2_scalefactor1;
                    else if (groupnumber <= 8)
                        sample *= channel2_scalefactor2;
                    else
                        sample *= channel2_scalefactor3;
                    if (channels == OutputChannels.BOTH_CHANNELS)
                        filter2.input_sample(sample, subbandnumber);
                    else
                        filter1.input_sample(sample, subbandnumber);
                }
                return returnvalue;
            }