mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
add *Server argument to NewServerStream()
This commit is contained in:
@@ -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()
|
||||
|
Reference in New Issue
Block a user