rtmp: invert flag of InitializeServer() and InitializeClient()

This commit is contained in:
aler9
2022-08-16 12:02:25 +02:00
parent f5a031d72c
commit 176f2f0729
5 changed files with 12 additions and 12 deletions

View File

@@ -206,12 +206,12 @@ func (c *rtmpConn) runInner(ctx context.Context) error {
c.nconn.SetReadDeadline(time.Now().Add(time.Duration(c.readTimeout))) c.nconn.SetReadDeadline(time.Now().Add(time.Duration(c.readTimeout)))
c.nconn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout))) c.nconn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout)))
u, isReading, err := c.conn.InitializeServer() u, isPublishing, err := c.conn.InitializeServer()
if err != nil { if err != nil {
return err return err
} }
if isReading { if !isPublishing {
return c.runRead(ctx, u) return c.runRead(ctx, u)
} }
return c.runPublish(ctx, u) return c.runPublish(ctx, u)

View File

@@ -143,7 +143,7 @@ func TestRTMPServerAuth(t *testing.T) {
defer nconn.Close() defer nconn.Close()
conn := rtmp.NewConn(nconn) conn := rtmp.NewConn(nconn)
err = conn.InitializeClient(u, true) err = conn.InitializeClient(u, false)
require.NoError(t, err) require.NoError(t, err)
_, _, err = conn.ReadTracks() _, _, err = conn.ReadTracks()
@@ -231,7 +231,7 @@ func TestRTMPServerAuthFail(t *testing.T) {
defer nconn.Close() defer nconn.Close()
conn := rtmp.NewConn(nconn) conn := rtmp.NewConn(nconn)
err = conn.InitializeClient(u, true) err = conn.InitializeClient(u, false)
require.NoError(t, err) require.NoError(t, err)
for i := 0; i < 3; i++ { for i := 0; i < 3; i++ {

View File

@@ -79,7 +79,7 @@ func (s *rtmpSource) run(ctx context.Context) error {
readDone <- func() error { readDone <- func() error {
nconn.SetReadDeadline(time.Now().Add(time.Duration(s.readTimeout))) nconn.SetReadDeadline(time.Now().Add(time.Duration(s.readTimeout)))
nconn.SetWriteDeadline(time.Now().Add(time.Duration(s.writeTimeout))) nconn.SetWriteDeadline(time.Now().Add(time.Duration(s.writeTimeout)))
err = conn.InitializeClient(u, true) err = conn.InitializeClient(u, false)
if err != nil { if err != nil {
return err return err
} }

View File

@@ -152,7 +152,7 @@ func (c *Conn) readCommandResult(commandName string, isValid func(*message.MsgCo
} }
// InitializeClient performs the initialization of a client-side connection. // InitializeClient performs the initialization of a client-side connection.
func (c *Conn) InitializeClient(u *url.URL, isPlaying bool) error { func (c *Conn) InitializeClient(u *url.URL, isPublishing bool) error {
connectpath, actionpath := splitPath(u) connectpath, actionpath := splitPath(u)
err := handshake.DoClient(c.bc, false) err := handshake.DoClient(c.bc, false)
@@ -208,7 +208,7 @@ func (c *Conn) InitializeClient(u *url.URL, isPlaying bool) error {
return err return err
} }
if isPlaying { if !isPublishing {
err = c.mrw.Write(&message.MsgCommandAMF0{ err = c.mrw.Write(&message.MsgCommandAMF0{
ChunkStreamID: 3, ChunkStreamID: 3,
Name: "createStream", Name: "createStream",
@@ -524,7 +524,7 @@ func (c *Conn) InitializeServer() (*url.URL, bool, error) {
return nil, false, err return nil, false, err
} }
return u, true, nil return u, false, nil
case "publish": case "publish":
if len(cmd.Arguments) < 2 { if len(cmd.Arguments) < 2 {
@@ -559,7 +559,7 @@ func (c *Conn) InitializeServer() (*url.URL, bool, error) {
return nil, false, err return nil, false, err
} }
return u, false, nil return u, true, nil
} }
} }
} }

View File

@@ -257,7 +257,7 @@ func TestInitializeClient(t *testing.T) {
defer nconn.Close() defer nconn.Close()
conn := NewConn(nconn) conn := NewConn(nconn)
err = conn.InitializeClient(u, ca == "read") err = conn.InitializeClient(u, ca == "publish")
require.NoError(t, err) require.NoError(t, err)
<-done <-done
@@ -280,14 +280,14 @@ func TestInitializeServer(t *testing.T) {
defer nconn.Close() defer nconn.Close()
conn := NewConn(nconn) conn := NewConn(nconn)
u, isReading, err := conn.InitializeServer() u, isPublishing, err := conn.InitializeServer()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, &url.URL{ require.Equal(t, &url.URL{
Scheme: "rtmp", Scheme: "rtmp",
Host: "127.0.0.1:9121", Host: "127.0.0.1:9121",
Path: "//stream/", Path: "//stream/",
}, u) }, u)
require.Equal(t, ca == "read", isReading) require.Equal(t, ca == "publish", isPublishing)
close(done) close(done)
}() }()