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;
}