add *Server argument to NewServerStream()

This commit is contained in:
aler9
2023-08-12 20:19:29 +02:00
parent ca87733ded
commit 68d4bf8da0
10 changed files with 191 additions and 156 deletions

View File

@@ -222,13 +222,7 @@ func TestServerPlayPath(t *testing.T) {
},
} {
t.Run(ca.name, func(t *testing.T) {
stream := NewServerStream(media.Medias{
testH264Media,
testH264Media,
testH264Media,
testH264Media,
})
defer stream.Close()
var stream *ServerStream
s := &Server{
Handler: &testServerHandler{
@@ -259,6 +253,14 @@ func TestServerPlayPath(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{
testH264Media,
testH264Media,
testH264Media,
testH264Media,
})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -298,15 +300,9 @@ func TestServerPlaySetupErrors(t *testing.T) {
"closed stream",
} {
t.Run(ca, func(t *testing.T) {
var stream *ServerStream
nconnClosed := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
if ca == "closed stream" {
stream.Close()
} else {
defer stream.Close()
}
s := &Server{
Handler: &testServerHandler{
onConnClose: func(ctx *ServerHandlerOnConnCloseCtx) {
@@ -340,6 +336,13 @@ func TestServerPlaySetupErrors(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
if ca == "closed stream" {
stream.Close()
} else {
defer stream.Close()
}
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -421,8 +424,7 @@ func TestServerPlaySetupErrors(t *testing.T) {
}
func TestServerPlaySetupErrorSameUDPPortsAndIP(t *testing.T) {
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
var stream *ServerStream
first := int32(1)
errorRecv := make(chan struct{})
@@ -460,6 +462,9 @@ func TestServerPlaySetupErrorSameUDPPortsAndIP(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
for i := 0; i < 2; i++ {
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
@@ -509,15 +514,12 @@ func TestServerPlay(t *testing.T) {
"multicast",
} {
t.Run(transport, func(t *testing.T) {
var stream *ServerStream
nconnOpened := make(chan struct{})
nconnClosed := make(chan struct{})
sessionOpened := make(chan struct{})
sessionClosed := make(chan struct{})
framesReceived := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
counter := uint64(0)
listenIP := multicastCapableIP(t)
@@ -609,6 +611,9 @@ func TestServerPlay(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", listenIP+":8554")
require.NoError(t, err)
@@ -838,11 +843,9 @@ func TestServerPlayDecodeErrors(t *testing.T) {
{"tcp", "rtcp too big"},
} {
t.Run(ca.proto+" "+ca.name, func(t *testing.T) {
var stream *ServerStream
errorRecv := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
s := &Server{
Handler: &testServerHandler{
onDescribe: func(ctx *ServerHandlerOnDescribeCtx) (*base.Response, *ServerStream, error) {
@@ -886,6 +889,9 @@ func TestServerPlayDecodeErrors(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -969,8 +975,7 @@ func TestServerPlayDecodeErrors(t *testing.T) {
func TestServerPlayRTCPReport(t *testing.T) {
for _, ca := range []string{"udp", "tcp"} {
t.Run(ca, func(t *testing.T) {
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
var stream *ServerStream
s := &Server{
Handler: &testServerHandler{
@@ -1000,6 +1005,9 @@ func TestServerPlayRTCPReport(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1092,9 +1100,7 @@ func TestServerPlayRTCPReport(t *testing.T) {
}
func TestServerPlayVLCMulticast(t *testing.T) {
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
var stream *ServerStream
listenIP := multicastCapableIP(t)
s := &Server{
@@ -1115,6 +1121,9 @@ func TestServerPlayVLCMulticast(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", listenIP+":8554")
require.NoError(t, err)
conn := conn.NewConn(nconn)
@@ -1138,12 +1147,10 @@ func TestServerPlayVLCMulticast(t *testing.T) {
}
func TestServerPlayTCPResponseBeforeFrames(t *testing.T) {
var stream *ServerStream
writerDone := make(chan struct{})
writerTerminate := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
s := &Server{
RTSPAddress: "localhost:8554",
Handler: &testServerHandler{
@@ -1195,6 +1202,9 @@ func TestServerPlayTCPResponseBeforeFrames(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1226,8 +1236,7 @@ func TestServerPlayTCPResponseBeforeFrames(t *testing.T) {
}
func TestServerPlayPlayPlay(t *testing.T) {
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
var stream *ServerStream
s := &Server{
Handler: &testServerHandler{
@@ -1256,6 +1265,9 @@ func TestServerPlayPlayPlay(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1285,13 +1297,11 @@ func TestServerPlayPlayPlay(t *testing.T) {
}
func TestServerPlayPlayPausePlay(t *testing.T) {
var stream *ServerStream
writerStarted := false
writerDone := make(chan struct{})
writerTerminate := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
s := &Server{
Handler: &testServerHandler{
onConnClose: func(ctx *ServerHandlerOnConnCloseCtx) {
@@ -1346,6 +1356,9 @@ func TestServerPlayPlayPausePlay(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1376,12 +1389,10 @@ func TestServerPlayPlayPausePlay(t *testing.T) {
}
func TestServerPlayPlayPausePause(t *testing.T) {
var stream *ServerStream
writerDone := make(chan struct{})
writerTerminate := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
s := &Server{
Handler: &testServerHandler{
onConnClose: func(ctx *ServerHandlerOnConnCloseCtx) {
@@ -1433,6 +1444,9 @@ func TestServerPlayPlayPausePause(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1471,11 +1485,9 @@ func TestServerPlayTimeout(t *testing.T) {
// there's no timeout when reading with TCP
} {
t.Run(transport, func(t *testing.T) {
var stream *ServerStream
sessionClosed := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
s := &Server{
Handler: &testServerHandler{
onSessionClose: func(ctx *ServerHandlerOnSessionCloseCtx) {
@@ -1518,6 +1530,9 @@ func TestServerPlayTimeout(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1562,12 +1577,10 @@ func TestServerPlayWithoutTeardown(t *testing.T) {
"tcp",
} {
t.Run(transport, func(t *testing.T) {
var stream *ServerStream
nconnClosed := make(chan struct{})
sessionClosed := make(chan struct{})
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
s := &Server{
Handler: &testServerHandler{
onConnClose: func(ctx *ServerHandlerOnConnCloseCtx) {
@@ -1606,6 +1619,9 @@ func TestServerPlayWithoutTeardown(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1647,8 +1663,7 @@ func TestServerPlayWithoutTeardown(t *testing.T) {
}
func TestServerPlayUDPChangeConn(t *testing.T) {
stream := NewServerStream(media.Medias{testH264Media})
defer stream.Close()
var stream *ServerStream
s := &Server{
Handler: &testServerHandler{
@@ -1682,6 +1697,9 @@ func TestServerPlayUDPChangeConn(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media})
defer stream.Close()
sxID := ""
func() {
@@ -1734,8 +1752,7 @@ func TestServerPlayUDPChangeConn(t *testing.T) {
}
func TestServerPlayPartialMedias(t *testing.T) {
stream := NewServerStream(media.Medias{testH264Media, testH264Media})
defer stream.Close()
var stream *ServerStream
s := &Server{
Handler: &testServerHandler{
@@ -1770,6 +1787,9 @@ func TestServerPlayPartialMedias(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{testH264Media, testH264Media})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()
@@ -1864,17 +1884,7 @@ func TestServerPlayAdditionalInfos(t *testing.T) {
err := forma.Init()
require.NoError(t, err)
stream := NewServerStream(media.Medias{
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
})
defer stream.Close()
var stream *ServerStream
s := &Server{
Handler: &testServerHandler{
@@ -1901,6 +1911,18 @@ func TestServerPlayAdditionalInfos(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
})
defer stream.Close()
err = stream.WritePacketRTP(stream.Medias()[0], &rtp.Packet{
Header: rtp.Header{
Version: 2,
@@ -1979,17 +2001,7 @@ func TestServerPlayNoInterleavedIDs(t *testing.T) {
err := forma.Init()
require.NoError(t, err)
stream := NewServerStream(media.Medias{
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
})
defer stream.Close()
var stream *ServerStream
s := &Server{
Handler: &testServerHandler{
@@ -2016,6 +2028,18 @@ func TestServerPlayNoInterleavedIDs(t *testing.T) {
require.NoError(t, err)
defer s.Close()
stream = NewServerStream(s, media.Medias{
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
&media.Media{
Type: "application",
Formats: []formats.Format{forma},
},
})
defer stream.Close()
nconn, err := net.Dial("tcp", "localhost:8554")
require.NoError(t, err)
defer nconn.Close()