mirror of
https://github.com/ossrs/srs.git
synced 2025-02-12 11:21:52 +00:00
merge srs2, timestamp overflow for ATC.
This commit is contained in:
parent
2ef1ef06e9
commit
310032d8d8
3 changed files with 13 additions and 1 deletions
|
@ -205,6 +205,7 @@ Please select your language:
|
|||
|
||||
### V2 changes
|
||||
|
||||
* v2.0, 2017-01-18, fix [#749][bug #749], timestamp overflow for ATC. 2.0.230
|
||||
* v2.0, 2017-01-11, fix [#740][bug #740], convert ts aac audio private stream 1 to common. 2.0.229
|
||||
* v2.0, 2017-01-11, fix [#588][bug #588], kbps interface error. 2.0.228
|
||||
* v2.0, 2017-01-11, fix [#736][bug #736], recovery the hls dispose. 2.0.227
|
||||
|
@ -1363,6 +1364,7 @@ Winlin
|
|||
[bug #736]: https://github.com/ossrs/srs/issues/736
|
||||
[bug #588]: https://github.com/ossrs/srs/issues/588
|
||||
[bug #740]: https://github.com/ossrs/srs/issues/740
|
||||
[bug #749]: https://github.com/ossrs/srs/issues/749
|
||||
[bug #xxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxx
|
||||
|
||||
[bug #735]: https://github.com/ossrs/srs/issues/735
|
||||
|
|
|
@ -1080,7 +1080,7 @@ int SrsRtmpConn::do_publishing(SrsSource* source, SrsPublishRecvThread* trd)
|
|||
|
||||
// initialize the publish timeout.
|
||||
publish_1stpkt_timeout = _srs_config->get_publish_1stpkt_timeout(req->vhost);
|
||||
publish_normal_timeout = _srs_config->get_publish_1stpkt_timeout(req->vhost);
|
||||
publish_normal_timeout = _srs_config->get_publish_normal_timeout(req->vhost);
|
||||
|
||||
// set the sock options.
|
||||
set_sock_options();
|
||||
|
|
|
@ -491,10 +491,20 @@ int SrsConsumer::enqueue(SrsSharedPtrMessage* shared_msg, bool atc, SrsRtmpJitte
|
|||
int duration_ms = queue->duration();
|
||||
bool match_min_msgs = queue->size() > mw_min_msgs;
|
||||
|
||||
// For ATC, maybe the SH timestamp bigger than A/V packet,
|
||||
// when encoder republish or overflow.
|
||||
// @see https://github.com/ossrs/srs/pull/749
|
||||
if (atc && duration_ms < 0) {
|
||||
st_cond_signal(mw_wait);
|
||||
mw_waiting = false;
|
||||
return ret;
|
||||
}
|
||||
|
||||
// when duration ok, signal to flush.
|
||||
if (match_min_msgs && duration_ms > mw_duration) {
|
||||
st_cond_signal(mw_wait);
|
||||
mw_waiting = false;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue