From ee93e80b8d5a43caacc4f1fee398060d6ffc77d6 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 29 Apr 2014 15:32:45 +0200 Subject: [PATCH] Added byte position counter for invalid RTMP data printout in the analyser. --- src/analysers/rtmp_analyser.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/analysers/rtmp_analyser.cpp b/src/analysers/rtmp_analyser.cpp index fb49f24f..c82b70d3 100644 --- a/src/analysers/rtmp_analyser.cpp +++ b/src/analysers/rtmp_analyser.cpp @@ -52,6 +52,7 @@ namespace Analysers { FLV::Tag F; //FLV holder AMF::Object amfdata("empty", AMF::AMF0_DDV_CONTAINER); AMF::Object3 amf3data("empty", AMF::AMF3_DDV_CONTAINER); + unsigned int read_in = 0; while (std::cin.good() || inbuffer.size()){ if (next.Parse(inbuffer)){ @@ -61,8 +62,8 @@ namespace Analysers { } switch (next.msg_type_id){ case 0: //does not exist - fprintf(stderr, "Error chunk - %i, %i, %i, %i, %i\n", next.cs_id, next.timestamp, next.real_len, next.len_left, next.msg_stream_id); - //return 0; + fprintf(stderr, "Error chunk @ %lu - CS%i, T%i, L%i, LL%i, MID%i\n", read_in-inbuffer.size(), next.cs_id, next.timestamp, next.real_len, next.len_left, next.msg_stream_id); + return 0; break; //happens when connection breaks unexpectedly case 1: //set chunk size RTMPStream::chunk_rec_max = ntohl(*(int*)next.data.c_str()); @@ -177,6 +178,7 @@ namespace Analysers { }else{ //if chunk parsed if (std::cin.good()){ inbuffer += std::cin.get(); + ++read_in; }else{ inbuffer.clear(); }