Files
overlord/Overlord-Client/cmd/agent/webrtcpub/audio_opus_test.go
T

34 lines
759 B
Go

//go:build overlord_webrtc
package webrtcpub
import (
"testing"
"github.com/pion/webrtc/v4"
)
func TestOpusAudioWriterAcceptsFragmentedStereoPCM(t *testing.T) {
track, err := webrtc.NewTrackLocalStaticSample(
webrtc.RTPCodecCapability{MimeType: webrtc.MimeTypeOpus, ClockRate: 48000, Channels: 2},
"audio", "test",
)
if err != nil {
t.Fatal(err)
}
writer, err := newOpusAudioWriter(track)
if err != nil {
t.Fatal(err)
}
frame := make([]int16, opusSamplesPerFrame*opusChannels)
if err := writer.WriteAudio(frame[:333]); err != nil {
t.Fatal(err)
}
if err := writer.WriteAudio(frame[333:]); err != nil {
t.Fatal(err)
}
if len(writer.pcm) != 0 {
t.Fatalf("buffered PCM = %d, want 0 after a complete frame", len(writer.pcm))
}
}