winlin

refine handshake, pithy print clock

@@ -291,7 +291,7 @@ int SrsClient::playing(SrsSource* source) @@ -291,7 +291,7 @@ int SrsClient::playing(SrsSource* source)
291 // reportable 291 // reportable
292 if (pithy_print.can_print()) { 292 if (pithy_print.can_print()) {
293 srs_trace("-> clock=%u, time=%"PRId64", cmr=%d, msgs=%d, obytes=%"PRId64", ibytes=%"PRId64", okbps=%d, ikbps=%d", 293 srs_trace("-> clock=%u, time=%"PRId64", cmr=%d, msgs=%d, obytes=%"PRId64", ibytes=%"PRId64", okbps=%d, ikbps=%d",
294 - (int)srs_get_system_time_ms(), pithy_print.get_age(), ctl_msg_ret, count, rtmp->get_send_bytes(), rtmp->get_recv_bytes(), rtmp->get_send_kbps(), rtmp->get_recv_kbps()); 294 + (int)(srs_get_system_time_ms()/1000), pithy_print.get_age(), ctl_msg_ret, count, rtmp->get_send_bytes(), rtmp->get_recv_bytes(), rtmp->get_send_kbps(), rtmp->get_recv_kbps());
295 } 295 }
296 296
297 if (count <= 0) { 297 if (count <= 0) {
@@ -347,7 +347,7 @@ int SrsClient::publish(SrsSource* source, bool is_fmle) @@ -347,7 +347,7 @@ int SrsClient::publish(SrsSource* source, bool is_fmle)
347 // reportable 347 // reportable
348 if (pithy_print.can_print()) { 348 if (pithy_print.can_print()) {
349 srs_trace("<- clock=%u, time=%"PRId64", obytes=%"PRId64", ibytes=%"PRId64", okbps=%d, ikbps=%d", 349 srs_trace("<- clock=%u, time=%"PRId64", obytes=%"PRId64", ibytes=%"PRId64", okbps=%d, ikbps=%d",
350 - (int)srs_get_system_time_ms(), pithy_print.get_age(), rtmp->get_send_bytes(), rtmp->get_recv_bytes(), rtmp->get_send_kbps(), rtmp->get_recv_kbps()); 350 + (int)(srs_get_system_time_ms()/1000), pithy_print.get_age(), rtmp->get_send_bytes(), rtmp->get_recv_bytes(), rtmp->get_send_kbps(), rtmp->get_recv_kbps());
351 } 351 }
352 352
353 // process audio packet 353 // process audio packet
@@ -1066,7 +1066,7 @@ SrsSimpleHandshake::~SrsSimpleHandshake() @@ -1066,7 +1066,7 @@ SrsSimpleHandshake::~SrsSimpleHandshake()
1066 { 1066 {
1067 } 1067 }
1068 1068
1069 -int SrsSimpleHandshake::handshake(SrsSocket& skt) 1069 +int SrsSimpleHandshake::handshake(SrsSocket& skt, SrsComplexHandshake& complex_hs)
1070 { 1070 {
1071 int ret = ERROR_SUCCESS; 1071 int ret = ERROR_SUCCESS;
1072 1072
@@ -1089,8 +1089,7 @@ int SrsSimpleHandshake::handshake(SrsSocket& skt) @@ -1089,8 +1089,7 @@ int SrsSimpleHandshake::handshake(SrsSocket& skt)
1089 srs_verbose("check c0 success, required plain text."); 1089 srs_verbose("check c0 success, required plain text.");
1090 1090
1091 // try complex handshake 1091 // try complex handshake
1092 - SrsComplexHandshake complex_handshake;  
1093 - ret = complex_handshake.handshake(skt, c0c1 + 1); 1092 + ret = complex_hs.handshake(skt, c0c1 + 1);
1094 if (ret == ERROR_SUCCESS) { 1093 if (ret == ERROR_SUCCESS) {
1095 srs_trace("complex handshake success."); 1094 srs_trace("complex handshake success.");
1096 return ret; 1095 return ret;
@@ -1099,7 +1098,7 @@ int SrsSimpleHandshake::handshake(SrsSocket& skt) @@ -1099,7 +1098,7 @@ int SrsSimpleHandshake::handshake(SrsSocket& skt)
1099 srs_error("complex handshake failed. ret=%d", ret); 1098 srs_error("complex handshake failed. ret=%d", ret);
1100 return ret; 1099 return ret;
1101 } 1100 }
1102 - srs_info("complex handhskae failed, try simple. ret=%d", ret); 1101 + srs_info("rollback complex to simple handshake. ret=%d", ret);
1103 1102
1104 char* s0s1s2 = new char[3073]; 1103 char* s0s1s2 = new char[3073];
1105 SrsAutoFree(char, s0s1s2, true); 1104 SrsAutoFree(char, s0s1s2, true);
@@ -31,6 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -31,6 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 #include <srs_core.hpp> 31 #include <srs_core.hpp>
32 32
33 class SrsSocket; 33 class SrsSocket;
  34 +class SrsComplexHandshake;
34 35
35 /** 36 /**
36 * try complex handshake, if failed, fallback to simple handshake. 37 * try complex handshake, if failed, fallback to simple handshake.
@@ -43,8 +44,10 @@ public: @@ -43,8 +44,10 @@ public:
43 public: 44 public:
44 /** 45 /**
45 * simple handshake. 46 * simple handshake.
  47 + * @param complex_hs, try complex handshake first,
  48 + * if failed, rollback to simple handshake.
46 */ 49 */
47 - virtual int handshake(SrsSocket& skt); 50 + virtual int handshake(SrsSocket& skt, SrsComplexHandshake& complex_hs);
48 }; 51 };
49 52
50 /** 53 /**
@@ -225,8 +225,9 @@ int SrsRtmp::handshake() @@ -225,8 +225,9 @@ int SrsRtmp::handshake()
225 225
226 SrsSocket skt(stfd); 226 SrsSocket skt(stfd);
227 227
228 - SrsSimpleHandshake hs;  
229 - if ((ret = hs.handshake(skt)) != ERROR_SUCCESS) { 228 + SrsComplexHandshake complex_hs;
  229 + SrsSimpleHandshake simple_hs;
  230 + if ((ret = simple_hs.handshake(skt, complex_hs)) != ERROR_SUCCESS) {
230 return ret; 231 return ret;
231 } 232 }
232 233