12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package core
- import (
- "fmt"
- "net/url"
- "testing"
- "github.com/pion/sdp/v3"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
- func TestSDP(t *testing.T) {
- medias := []*Media{{
- Kind: KindAudio, Direction: DirectionSendonly,
- Codecs: []*Codec{
- {Name: CodecPCMU, ClockRate: 8000},
- },
- }}
- data, err := MarshalSDP("go2rtc/1.0.0", medias)
- assert.Empty(t, err)
- sd := &sdp.SessionDescription{}
- err = sd.Unmarshal(data)
- assert.Empty(t, err)
- }
- func TestParseQuery(t *testing.T) {
- u, _ := url.Parse("rtsp://localhost:8554/camera1")
- medias := ParseQuery(u.Query())
- assert.Nil(t, medias)
- for _, rawULR := range []string{
- "rtsp://localhost:8554/camera1?video",
- "rtsp://localhost:8554/camera1?video=copy",
- "rtsp://localhost:8554/camera1?video=any",
- } {
- u, _ = url.Parse(rawULR)
- medias = ParseQuery(u.Query())
- assert.Equal(t, []*Media{
- {Kind: KindVideo, Direction: DirectionSendonly, Codecs: []*Codec{{Name: CodecAny}}},
- }, medias)
- }
- }
- func TestClone(t *testing.T) {
- media1 := &Media{
- Kind: KindVideo,
- Direction: DirectionRecvonly,
- Codecs: []*Codec{
- {Name: CodecPCMU, ClockRate: 8000},
- },
- }
- media2 := media1.Clone()
- p1 := fmt.Sprintf("%p", media1)
- p2 := fmt.Sprintf("%p", media2)
- require.NotEqualValues(t, p1, p2)
- p3 := fmt.Sprintf("%p", media1.Codecs[0])
- p4 := fmt.Sprintf("%p", media2.Codecs[0])
- require.NotEqualValues(t, p3, p4)
- }
|