Files
go-sip/internal/audio/pcm16_test.go
T

32 lines
809 B
Go

package audio
import (
"bytes"
"testing"
)
func TestResamplePCM16BetweenTelephonyRates(t *testing.T) {
pcm8k := []byte{1, 0, 3, 0}
pcm16k := ResamplePCM16(pcm8k, 8000, 16000)
if want := []byte{1, 0, 2, 0, 3, 0, 3, 0}; !bytes.Equal(pcm16k, want) {
t.Fatalf("8 kHz to 16 kHz = %v, want %v", pcm16k, want)
}
downsampled := ResamplePCM16(pcm16k, 16000, 8000)
if !bytes.Equal(downsampled, pcm8k) {
t.Fatalf("16 kHz to 8 kHz = %v, want %v", downsampled, pcm8k)
}
}
func TestResamplePCM16AtSameRateReturnsIndependentCopy(t *testing.T) {
input := []byte{1, 0, 2, 0}
got := ResamplePCM16(input, 16000, 16000)
if !bytes.Equal(got, input) {
t.Fatalf("same-rate PCM16 = %v, want %v", got, input)
}
got[0] = 9
if input[0] != 1 {
t.Fatal("same-rate resampling returned the original buffer")
}
}