From d4945ab7bc58a1b0c3e2b736286dc8c03de75ad3 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Mon, 22 Aug 2022 10:55:06 +0200 Subject: [PATCH] rtmp: cleanup --- internal/rtmp/conn.go | 128 ++++++++++++++++++++---------------------- 1 file changed, 60 insertions(+), 68 deletions(-) diff --git a/internal/rtmp/conn.go b/internal/rtmp/conn.go index 23d18247..b0851442 100644 --- a/internal/rtmp/conn.go +++ b/internal/rtmp/conn.go @@ -247,76 +247,68 @@ func (c *Conn) InitializeClient(u *url.URL, isPublishing bool) error { return err } - err = c.readCommandResult("onStatus", resultIsOK1) - if err != nil { - return err - } - } else { - err = c.mrw.Write(&message.MsgCommandAMF0{ - ChunkStreamID: 3, - Name: "releaseStream", - CommandID: 2, - Arguments: []interface{}{ - nil, - actionpath, - }, - }) - if err != nil { - return err - } - - err = c.mrw.Write(&message.MsgCommandAMF0{ - ChunkStreamID: 3, - Name: "FCPublish", - CommandID: 3, - Arguments: []interface{}{ - nil, - actionpath, - }, - }) - if err != nil { - return err - } - - err = c.mrw.Write(&message.MsgCommandAMF0{ - ChunkStreamID: 3, - Name: "createStream", - CommandID: 4, - Arguments: []interface{}{ - nil, - }, - }) - if err != nil { - return err - } - - err = c.readCommandResult("_result", resultIsOK2) - if err != nil { - return err - } - - err = c.mrw.Write(&message.MsgCommandAMF0{ - ChunkStreamID: 4, - MessageStreamID: 0x1000000, - Name: "publish", - CommandID: 5, - Arguments: []interface{}{ - nil, - actionpath, - connectpath, - }, - }) - if err != nil { - return err - } - - err = c.readCommandResult("onStatus", resultIsOK1) - if err != nil { - return err - } + return c.readCommandResult("onStatus", resultIsOK1) } - return nil + err = c.mrw.Write(&message.MsgCommandAMF0{ + ChunkStreamID: 3, + Name: "releaseStream", + CommandID: 2, + Arguments: []interface{}{ + nil, + actionpath, + }, + }) + if err != nil { + return err + } + + err = c.mrw.Write(&message.MsgCommandAMF0{ + ChunkStreamID: 3, + Name: "FCPublish", + CommandID: 3, + Arguments: []interface{}{ + nil, + actionpath, + }, + }) + if err != nil { + return err + } + + err = c.mrw.Write(&message.MsgCommandAMF0{ + ChunkStreamID: 3, + Name: "createStream", + CommandID: 4, + Arguments: []interface{}{ + nil, + }, + }) + if err != nil { + return err + } + + err = c.readCommandResult("_result", resultIsOK2) + if err != nil { + return err + } + + err = c.mrw.Write(&message.MsgCommandAMF0{ + ChunkStreamID: 4, + MessageStreamID: 0x1000000, + Name: "publish", + CommandID: 5, + Arguments: []interface{}{ + nil, + actionpath, + connectpath, + }, + }) + if err != nil { + return err + } + + return c.readCommandResult("onStatus", resultIsOK1) } // InitializeServer performs the initialization of a server-side connection.