From 176f2f07296e3af49393c6fb3fc0b8a636d442b4 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Tue, 16 Aug 2022 12:02:25 +0200 Subject: [PATCH] rtmp: invert flag of InitializeServer() and InitializeClient() --- internal/core/rtmp_conn.go | 4 ++-- internal/core/rtmp_server_test.go | 4 ++-- internal/core/rtmp_source.go | 2 +- internal/rtmp/conn.go | 8 ++++---- internal/rtmp/conn_test.go | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/internal/core/rtmp_conn.go b/internal/core/rtmp_conn.go index 4dcd6310..89e5e38c 100644 --- a/internal/core/rtmp_conn.go +++ b/internal/core/rtmp_conn.go @@ -206,12 +206,12 @@ func (c *rtmpConn) runInner(ctx context.Context) error { c.nconn.SetReadDeadline(time.Now().Add(time.Duration(c.readTimeout))) 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 { return err } - if isReading { + if !isPublishing { return c.runRead(ctx, u) } return c.runPublish(ctx, u) diff --git a/internal/core/rtmp_server_test.go b/internal/core/rtmp_server_test.go index 53f1313f..b52aca05 100644 --- a/internal/core/rtmp_server_test.go +++ b/internal/core/rtmp_server_test.go @@ -143,7 +143,7 @@ func TestRTMPServerAuth(t *testing.T) { defer nconn.Close() conn := rtmp.NewConn(nconn) - err = conn.InitializeClient(u, true) + err = conn.InitializeClient(u, false) require.NoError(t, err) _, _, err = conn.ReadTracks() @@ -231,7 +231,7 @@ func TestRTMPServerAuthFail(t *testing.T) { defer nconn.Close() conn := rtmp.NewConn(nconn) - err = conn.InitializeClient(u, true) + err = conn.InitializeClient(u, false) require.NoError(t, err) for i := 0; i < 3; i++ { diff --git a/internal/core/rtmp_source.go b/internal/core/rtmp_source.go index 0f02f3de..954c5cdb 100644 --- a/internal/core/rtmp_source.go +++ b/internal/core/rtmp_source.go @@ -79,7 +79,7 @@ func (s *rtmpSource) run(ctx context.Context) error { readDone <- func() error { nconn.SetReadDeadline(time.Now().Add(time.Duration(s.readTimeout))) nconn.SetWriteDeadline(time.Now().Add(time.Duration(s.writeTimeout))) - err = conn.InitializeClient(u, true) + err = conn.InitializeClient(u, false) if err != nil { return err } diff --git a/internal/rtmp/conn.go b/internal/rtmp/conn.go index ef407cd4..3535d864 100644 --- a/internal/rtmp/conn.go +++ b/internal/rtmp/conn.go @@ -152,7 +152,7 @@ func (c *Conn) readCommandResult(commandName string, isValid func(*message.MsgCo } // 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) err := handshake.DoClient(c.bc, false) @@ -208,7 +208,7 @@ func (c *Conn) InitializeClient(u *url.URL, isPlaying bool) error { return err } - if isPlaying { + if !isPublishing { err = c.mrw.Write(&message.MsgCommandAMF0{ ChunkStreamID: 3, Name: "createStream", @@ -524,7 +524,7 @@ func (c *Conn) InitializeServer() (*url.URL, bool, error) { return nil, false, err } - return u, true, nil + return u, false, nil case "publish": if len(cmd.Arguments) < 2 { @@ -559,7 +559,7 @@ func (c *Conn) InitializeServer() (*url.URL, bool, error) { return nil, false, err } - return u, false, nil + return u, true, nil } } } diff --git a/internal/rtmp/conn_test.go b/internal/rtmp/conn_test.go index d50c5d6e..6a5f1f76 100644 --- a/internal/rtmp/conn_test.go +++ b/internal/rtmp/conn_test.go @@ -257,7 +257,7 @@ func TestInitializeClient(t *testing.T) { defer nconn.Close() conn := NewConn(nconn) - err = conn.InitializeClient(u, ca == "read") + err = conn.InitializeClient(u, ca == "publish") require.NoError(t, err) <-done @@ -280,14 +280,14 @@ func TestInitializeServer(t *testing.T) { defer nconn.Close() conn := NewConn(nconn) - u, isReading, err := conn.InitializeServer() + u, isPublishing, err := conn.InitializeServer() require.NoError(t, err) require.Equal(t, &url.URL{ Scheme: "rtmp", Host: "127.0.0.1:9121", Path: "//stream/", }, u) - require.Equal(t, ca == "read", isReading) + require.Equal(t, ca == "publish", isPublishing) close(done) }()