From eebc187513ab7b1c145f7adc7e6d36df2882f3a3 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Wed, 22 Jun 2011 15:48:41 +0200 Subject: [PATCH] Added AMF3 command support in RTMP_Parser --- RTMP_Parser/main.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/RTMP_Parser/main.cpp b/RTMP_Parser/main.cpp index 665d1621..4f03e803 100644 --- a/RTMP_Parser/main.cpp +++ b/RTMP_Parser/main.cpp @@ -22,6 +22,7 @@ int main(){ inbuffer.erase(0, 3073);//strip the handshake part RTMPStream::Chunk next; AMF::Object amfdata("empty", AMF::AMF0_DDV_CONTAINER); + AMF::Object3 amf3data("empty", AMF::AMF3_DDV_CONTAINER); while (next.Parse(inbuffer)){ @@ -93,9 +94,18 @@ int main(){ case 16: fprintf(stderr, "Received AFM3 shared object\n"); break; - case 17: - fprintf(stderr, "Received AFM3 command message\n"); - break; + case 17:{ + fprintf(stderr, "Received AFM3 command message:\n"); + char soort = next.data[0]; + next.data = next.data.substr(1); + if (soort == 0){ + amfdata = AMF::parse(next.data); + amfdata.Print(); + }else{ + amf3data = AMF::parse3(next.data); + amf3data.Print(); + } + } break; case 18:{ fprintf(stderr, "Received AFM0 data message (metadata):\n"); amfdata = AMF::parse(next.data);