From 5a6eaa30acf322a645dd29fcc1d7d4f04224882e Mon Sep 17 00:00:00 2001 From: Thulinma 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"){