public void Consume(short[] input, int length)
{
if (length < 0 || length % m_num_channels != 0)
{
throw new ArgumentException("input length");
}
int offset = 0;
length /= m_num_channels;
while (length > 0)
{
int consumed = Load(input, offset, length);
offset += consumed * m_num_channels;
length -= consumed;
if (m_buffer_size == m_buffer_offset)
{
Resample();
if (m_buffer_size == m_buffer_offset)
{
Debug.WriteLine("Chromaprint::AudioProcessor::Consume() -- Resampling failed?");
return;
}
}
}
}