AcoustID.Chromaprint.AudioProcessor.Reset C# (CSharp) Method

Reset() public method

public Reset ( int sample_rate, int num_channels ) : bool
sample_rate int
num_channels int
return bool
        public bool Reset(int sample_rate, int num_channels)
        {
            if (num_channels <= 0)
            {
                Debug.WriteLine("Chromaprint::AudioProcessor::Reset() -- No audio channels.");
                return false;
            }

            if (sample_rate <= kMinSampleRate)
            {
                Debug.WriteLine("Chromaprint::AudioProcessor::Reset() -- Sample rate less than {0} ({1}).",
                    kMinSampleRate, sample_rate);
                return false;
            }

            m_buffer_offset = 0;

            if (m_resample_ctx != null)
            {
                m_resample_ctx.Close();
                m_resample_ctx = null;
            }

            if (sample_rate != m_target_sample_rate)
            {
                m_resample_ctx = new Resampler();
                m_resample_ctx.Init(
                    m_target_sample_rate, sample_rate,
                    kResampleFilterLength,
                    kResamplePhaseCount,
                    kResampleLinear,
                    kResampleCutoff);

            }

            m_num_channels = num_channels;
            return true;
        }

Usage Example

        public void TestPassThrough()
        {
            short[] data = TestsHelper.LoadAudioFile("test_mono_44100.raw");

            Assert.IsNotNull(data, "Failed to load test data (check DATA_PATH in TestsHelper.cs)");

            AudioBuffer buffer = new AudioBuffer();
            AudioProcessor processor = new AudioProcessor(44100, buffer);
            processor.Reset(44100, 1);
            processor.Consume(data, data.Length);
            processor.Flush();

            CollectionAssert.AreEqual(data, buffer.data);
        }
All Usage Examples Of AcoustID.Chromaprint.AudioProcessor::Reset