@@ -6,12 +6,10 @@ package main
66import (
77 "context"
88 "fmt"
9- "math/rand"
109 "net"
1110 "strconv"
1211 "strings"
1312 "sync"
14- "time"
1513
1614 "srs-proxy/errors"
1715 "srs-proxy/logger"
@@ -24,16 +22,12 @@ import (
2422type srsRTMPServer struct {
2523 // The TCP listener for RTMP server.
2624 listener * net.TCPListener
27- // The random number generator.
28- rd * rand.Rand
2925 // The wait group for all goroutines.
3026 wg sync.WaitGroup
3127}
3228
3329func NewSRSRTMPServer (opts ... func (* srsRTMPServer )) * srsRTMPServer {
34- v := & srsRTMPServer {
35- rd : rand .New (rand .NewSource (time .Now ().UnixNano ())),
36- }
30+ v := & srsRTMPServer {}
3731 for _ , opt := range opts {
3832 opt (v )
3933 }
@@ -97,9 +91,7 @@ func (v *srsRTMPServer) Run(ctx context.Context) error {
9791 }
9892 }
9993
100- rc := NewRTMPConnection (func (client * RTMPConnection ) {
101- client .rd = v .rd
102- })
94+ rc := NewRTMPConnection ()
10395 if err := rc .serve (ctx , conn ); err != nil {
10496 handleErr (err )
10597 } else {
@@ -119,8 +111,6 @@ func (v *srsRTMPServer) Run(ctx context.Context) error {
119111// then proxy to the corresponding backend server. All state is in the RTMP request, so this
120112// connection is stateless.
121113type RTMPConnection struct {
122- // The random number generator.
123- rd * rand.Rand
124114}
125115
126116func NewRTMPConnection (opts ... func (* RTMPConnection )) * RTMPConnection {
@@ -151,7 +141,7 @@ func (v *RTMPConnection) serve(ctx context.Context, conn *net.TCPConn) error {
151141 }
152142
153143 // Simple handshake with client.
154- hs := rtmp .NewHandshake (v . rd )
144+ hs := rtmp .NewHandshake ()
155145 if _ , err := hs .ReadC0S0 (conn ); err != nil {
156146 return errors .Wrapf (err , "read c0" )
157147 }
@@ -294,7 +284,7 @@ func (v *RTMPConnection) serve(ctx context.Context, conn *net.TCPConn) error {
294284
295285 // Find a backend SRS server to proxy the RTMP stream.
296286 backend = NewRTMPClientToBackend (func (client * RTMPClientToBackend ) {
297- client .rd , client . typ = v . rd , clientType
287+ client .typ = clientType
298288 })
299289 defer backend .Close ()
300290
@@ -412,8 +402,6 @@ const (
412402
413403// RTMPClientToBackend is a RTMP client to proxy the RTMP stream to backend.
414404type RTMPClientToBackend struct {
415- // The random number generator.
416- rd * rand.Rand
417405 // The underlayer tcp client.
418406 tcpConn * net.TCPConn
419407 // The RTMP protocol client.
@@ -470,7 +458,7 @@ func (v *RTMPClientToBackend) Connect(ctx context.Context, tcUrl, streamName str
470458 }
471459 v .tcpConn = c
472460
473- hs := rtmp .NewHandshake (v . rd )
461+ hs := rtmp .NewHandshake ()
474462 client := rtmp .NewProtocol (c )
475463 v .client = client
476464
0 commit comments