Kirika/audio/filter/resample_filter_cgo_test.go
DataHoarder bd069cdf05
Some checks failed
continuous-integration/drone/push Build is failing
General code inspection cleanup
2022-10-03 11:34:56 +02:00

44 lines
1,015 B
Go

//go:build cgo
package filter
import (
"git.gammaspectra.live/S.O.N.G/Kirika/audio"
"git.gammaspectra.live/S.O.N.G/Kirika/audio/format/flac"
"git.gammaspectra.live/S.O.N.G/Kirika/test"
"os"
"testing"
)
func TestFilterChainResample(t *testing.T) {
t.Parallel()
fp, err := os.Open(test.SingleSample24)
if err != nil {
t.Error(err)
return
}
defer fp.Close()
source, err := flac.NewFormat().Open(fp)
if err != nil {
t.Error(err)
return
}
const sampleRate = 16000
result := NewFilterChain(source, MonoFilter{}, NewResampleFilter(sampleRate, QualityFast, 0), StereoFilter{})
sink := audio.NewForwardSink(audio.NewNullSink())
sink.Process(result)
if result.GetSampleRate() != sampleRate {
t.Errorf("Wrong SampleRate %d != %d", result.GetSampleRate(), sampleRate)
}
if result.GetChannels() != 2 {
t.Errorf("Wrong Channel Count %d != %d", result.GetChannels(), 2)
}
if sink.GetSamplesRead() != 6284999 {
t.Errorf("Wrong Sample Count %d != %d", sink.GetSamplesRead(), 6284999)
}
}