From d6f6d21af14983ebc185548bbd766c4e760bac1f Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sun, 21 Nov 2010 23:21:18 +0100 Subject: [PATCH] New handshake, data timeout after 2 seconds --- Connector_RTMP/handshake.cpp | 2 +- Connector_RTMP/main.cpp | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Connector_RTMP/handshake.cpp b/Connector_RTMP/handshake.cpp index 3b674b35..b7ba2896 100644 --- a/Connector_RTMP/handshake.cpp +++ b/Connector_RTMP/handshake.cpp @@ -1,6 +1,6 @@ #undef OLDHANDSHAKE //change to #define for old handshake method -char versionstring[] = "PLSRTMPServer"; +char versionstring[] = "WWW.DDVTECH.COM "; #ifdef OLDHANDSHAKE struct Handshake { diff --git a/Connector_RTMP/main.cpp b/Connector_RTMP/main.cpp index 0e27d067..ede667c4 100644 --- a/Connector_RTMP/main.cpp +++ b/Connector_RTMP/main.cpp @@ -117,6 +117,7 @@ int main(int argc, char ** argv){ FLV_Pack * tag = 0; //first timestamp set + int lastcheck = getNowMS(); firsttime = getNowMS(); if (doHandshake()){ @@ -155,7 +156,10 @@ int main(int argc, char ** argv){ #endif break; case -1: break;//not ready yet - default: parseChunk(); break; + default: + parseChunk(); + lastcheck = getNowMS(); + break; } } if (ready4data){ @@ -209,6 +213,7 @@ int main(int argc, char ** argv){ tag->data[6] = ftst % 256; } SendMedia((unsigned char)tag->data[0], (unsigned char *)tag->data+11, tag->len-15, ts); + lastcheck = getNowMS(); #if DEBUG >= 4 fprintf(stderr, "Sent a tag to %i\n", CONN_fd); #endif @@ -217,7 +222,7 @@ int main(int argc, char ** argv){ } } //send ACK if we received a whole window - if (rec_cnt - rec_window_at > rec_window_size){ + if ((rec_cnt - rec_window_at > rec_window_size) || (getNowMS() - lastcheck > 1)){ rec_window_at = rec_cnt; SendCTL(3, rec_cnt);//send ack (msg 3) }