From 5a6eaa30acf322a645dd29fcc1d7d4f04224882e Mon Sep 17 00:00:00 2001
From: Thulinma <jaron@vietors.com>
Date: Thu, 23 Aug 2018 13:26:52 +0200
Subject: [PATCH] Fixed RTMP compatibility with Larix Broadcaster

---
 src/output/output_rtmp.cpp | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/output/output_rtmp.cpp b/src/output/output_rtmp.cpp
index 0b6f5cba..84f52275 100644
--- a/src/output/output_rtmp.cpp
+++ b/src/output/output_rtmp.cpp
@@ -591,18 +591,10 @@ namespace Mist {
           return;
         }
       }
-      //send a _result reply
-      AMF::Object amfReply("container", AMF::AMF0_DDV_CONTAINER);
-      amfReply.addContent(AMF::Object("", "_result")); //result success
-      amfReply.addContent(amfData.getContent(1)); //same transaction ID
-      amfReply.addContent(AMF::Object("", (double)0, AMF::AMF0_NULL)); //null - command info
-      amfReply.addContent(AMF::Object("", 1, AMF::AMF0_BOOL)); //publish success?
-      sendCommand(amfReply, messageType, streamId);
-      myConn.SendNow(RTMPStream::SendUSR(0, 1)); //send UCM StreamBegin (0), stream 1
       //send a status reply
-      amfReply = AMF::Object("container", AMF::AMF0_DDV_CONTAINER);
+      AMF::Object amfReply("container", AMF::AMF0_DDV_CONTAINER);
       amfReply.addContent(AMF::Object("", "onStatus")); //status reply
-      amfReply.addContent(AMF::Object("", 0, AMF::AMF0_NUMBER)); //same transaction ID
+      amfReply.addContent(amfData.getContent(1)); //same transaction ID
       amfReply.addContent(AMF::Object("", (double)0, AMF::AMF0_NULL)); //null - command info
       amfReply.addContent(AMF::Object("")); //info
       amfReply.getContentP(3)->addContent(AMF::Object("level", "status"));
@@ -610,6 +602,16 @@ namespace Mist {
       amfReply.getContentP(3)->addContent(AMF::Object("description", "Stream is now published!"));
       amfReply.getContentP(3)->addContent(AMF::Object("clientid", (double)1337));
       sendCommand(amfReply, messageType, streamId);
+      /*
+      //send a _result reply
+      amfReply = AMF::Object("container", AMF::AMF0_DDV_CONTAINER);
+      amfReply.addContent(AMF::Object("", "_result")); //result success
+      amfReply.addContent(amfData.getContent(1)); //same transaction ID
+      amfReply.addContent(AMF::Object("", (double)0, AMF::AMF0_NULL)); //null - command info
+      amfReply.addContent(AMF::Object("", 1, AMF::AMF0_BOOL)); //publish success?
+      sendCommand(amfReply, messageType, streamId);
+      */
+      myConn.SendNow(RTMPStream::SendUSR(0, 1)); //send UCM StreamBegin (0), stream 1
       return;
     }//getStreamLength
     if (amfData.getContentP(0)->StrValue() == "checkBandwidth"){