正在显示
3 个修改的文件
包含
13 行增加
和
1 行删除
| @@ -205,6 +205,7 @@ Please select your language: | @@ -205,6 +205,7 @@ Please select your language: | ||
| 205 | 205 | ||
| 206 | ### V2 changes | 206 | ### V2 changes |
| 207 | 207 | ||
| 208 | +* v2.0, 2017-01-18, fix [#749][bug #749], timestamp overflow for ATC. 2.0.230 | ||
| 208 | * v2.0, 2017-01-11, fix [#740][bug #740], convert ts aac audio private stream 1 to common. 2.0.229 | 209 | * v2.0, 2017-01-11, fix [#740][bug #740], convert ts aac audio private stream 1 to common. 2.0.229 |
| 209 | * v2.0, 2017-01-11, fix [#588][bug #588], kbps interface error. 2.0.228 | 210 | * v2.0, 2017-01-11, fix [#588][bug #588], kbps interface error. 2.0.228 |
| 210 | * v2.0, 2017-01-11, fix [#736][bug #736], recovery the hls dispose. 2.0.227 | 211 | * v2.0, 2017-01-11, fix [#736][bug #736], recovery the hls dispose. 2.0.227 |
| @@ -1363,6 +1364,7 @@ Winlin | @@ -1363,6 +1364,7 @@ Winlin | ||
| 1363 | [bug #736]: https://github.com/ossrs/srs/issues/736 | 1364 | [bug #736]: https://github.com/ossrs/srs/issues/736 |
| 1364 | [bug #588]: https://github.com/ossrs/srs/issues/588 | 1365 | [bug #588]: https://github.com/ossrs/srs/issues/588 |
| 1365 | [bug #740]: https://github.com/ossrs/srs/issues/740 | 1366 | [bug #740]: https://github.com/ossrs/srs/issues/740 |
| 1367 | +[bug #749]: https://github.com/ossrs/srs/issues/749 | ||
| 1366 | [bug #xxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxx | 1368 | [bug #xxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxx |
| 1367 | 1369 | ||
| 1368 | [bug #735]: https://github.com/ossrs/srs/issues/735 | 1370 | [bug #735]: https://github.com/ossrs/srs/issues/735 |
| @@ -1080,7 +1080,7 @@ int SrsRtmpConn::do_publishing(SrsSource* source, SrsPublishRecvThread* trd) | @@ -1080,7 +1080,7 @@ int SrsRtmpConn::do_publishing(SrsSource* source, SrsPublishRecvThread* trd) | ||
| 1080 | 1080 | ||
| 1081 | // initialize the publish timeout. | 1081 | // initialize the publish timeout. |
| 1082 | publish_1stpkt_timeout = _srs_config->get_publish_1stpkt_timeout(req->vhost); | 1082 | publish_1stpkt_timeout = _srs_config->get_publish_1stpkt_timeout(req->vhost); |
| 1083 | - publish_normal_timeout = _srs_config->get_publish_1stpkt_timeout(req->vhost); | 1083 | + publish_normal_timeout = _srs_config->get_publish_normal_timeout(req->vhost); |
| 1084 | 1084 | ||
| 1085 | // set the sock options. | 1085 | // set the sock options. |
| 1086 | set_sock_options(); | 1086 | set_sock_options(); |
| @@ -491,10 +491,20 @@ int SrsConsumer::enqueue(SrsSharedPtrMessage* shared_msg, bool atc, SrsRtmpJitte | @@ -491,10 +491,20 @@ int SrsConsumer::enqueue(SrsSharedPtrMessage* shared_msg, bool atc, SrsRtmpJitte | ||
| 491 | int duration_ms = queue->duration(); | 491 | int duration_ms = queue->duration(); |
| 492 | bool match_min_msgs = queue->size() > mw_min_msgs; | 492 | bool match_min_msgs = queue->size() > mw_min_msgs; |
| 493 | 493 | ||
| 494 | + // For ATC, maybe the SH timestamp bigger than A/V packet, | ||
| 495 | + // when encoder republish or overflow. | ||
| 496 | + // @see https://github.com/ossrs/srs/pull/749 | ||
| 497 | + if (atc && duration_ms < 0) { | ||
| 498 | + st_cond_signal(mw_wait); | ||
| 499 | + mw_waiting = false; | ||
| 500 | + return ret; | ||
| 501 | + } | ||
| 502 | + | ||
| 494 | // when duration ok, signal to flush. | 503 | // when duration ok, signal to flush. |
| 495 | if (match_min_msgs && duration_ms > mw_duration) { | 504 | if (match_min_msgs && duration_ms > mw_duration) { |
| 496 | st_cond_signal(mw_wait); | 505 | st_cond_signal(mw_wait); |
| 497 | mw_waiting = false; | 506 | mw_waiting = false; |
| 507 | + return ret; | ||
| 498 | } | 508 | } |
| 499 | } | 509 | } |
| 500 | #endif | 510 | #endif |
-
请 注册 或 登录 后发表评论