正在显示
4 个修改的文件
包含
12 行增加
和
9 行删除
| @@ -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 |
-
请 注册 或 登录 后发表评论