From a40270c871ea3f310cc49773d8c114634e4b32d0 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sun, 21 Aug 2011 21:03:21 +0200 Subject: [PATCH] More timestamp attempts... --- Connector_RTMP/main.cpp | 2 -- util/rtmpchunks.cpp | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Connector_RTMP/main.cpp b/Connector_RTMP/main.cpp index 754a43dc..52d4f0e3 100644 --- a/Connector_RTMP/main.cpp +++ b/Connector_RTMP/main.cpp @@ -121,14 +121,12 @@ int Connector_RTMP::Connector_RTMP(Socket::Connection conn){ } if (viddone && auddone && justdone){ if (viddata.len != 0){ - viddata.tagTime(RTMPStream::getNowMS()); Socket.write(RTMPStream::SendMedia(viddata)); #if DEBUG >= 8 fprintf(stderr, "Sent tag to %i: [%u] %s\n", Socket.getSocket(), viddata.tagTime(), viddata.tagType().c_str()); #endif } if (auddata.len != 0){ - auddata.tagTime(RTMPStream::getNowMS()); Socket.write(RTMPStream::SendMedia(auddata)); #if DEBUG >= 8 fprintf(stderr, "Sent tag to %i: [%u] %s\n", Socket.getSocket(), auddata.tagTime(), auddata.tagType().c_str()); diff --git a/util/rtmpchunks.cpp b/util/rtmpchunks.cpp index ad0e6c57..6aa5f242 100644 --- a/util/rtmpchunks.cpp +++ b/util/rtmpchunks.cpp @@ -43,7 +43,6 @@ std::string RTMPStream::Chunk::Pack(){ unsigned int tmpi; unsigned char chtype = 0x00; //timestamp -= firsttime; - //if (timestamp < prev.timestamp){timestamp = prev.timestamp;} if ((prev.msg_type_id > 0) && (prev.cs_id == cs_id)){ if (msg_stream_id == prev.msg_stream_id){ chtype = 0x40;//do not send msg_stream_id @@ -56,6 +55,8 @@ std::string RTMPStream::Chunk::Pack(){ } } } + //override - we always sent type 0x00 if the timestamp has decreased since last chunk in this channel + if (timestamp < prev.timestamp){chtype = 0x00;} } if (cs_id <= 63){ output += (unsigned char)(chtype | cs_id);