mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Refine HTTP-FLV latency, support realtime mode. 2.0.252
This commit is contained in:
parent
ee43fc92ae
commit
c45f72ef7b
3 changed files with 15 additions and 5 deletions
|
@ -333,6 +333,7 @@ Remark:
|
||||||
|
|
||||||
## History
|
## History
|
||||||
|
|
||||||
|
* v2.0, 2018-08-05, Refine HTTP-FLV latency, support realtime mode. 2.0.252
|
||||||
* v2.0, 2018-08-04, For [#1110][bug #1110], Support params in http callback. 2.0.251
|
* v2.0, 2018-08-04, For [#1110][bug #1110], Support params in http callback. 2.0.251
|
||||||
* v2.0, 2018-08-02, For [#1031][bug #1031], SRS edge support douyu.com. 2.0.250
|
* v2.0, 2018-08-02, For [#1031][bug #1031], SRS edge support douyu.com. 2.0.250
|
||||||
* v2.0, 2018-07-21, Merge [#1119][bug #1119], fix memory leak. 2.0.249
|
* v2.0, 2018-07-21, Merge [#1119][bug #1119], fix memory leak. 2.0.249
|
||||||
|
|
|
@ -58,6 +58,8 @@ using namespace std;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <srs_app_config.hpp>
|
||||||
|
|
||||||
#ifdef SRS_AUTO_HTTP_SERVER
|
#ifdef SRS_AUTO_HTTP_SERVER
|
||||||
|
|
||||||
SrsStreamCache::SrsStreamCache(SrsSource* s, SrsRequest* r)
|
SrsStreamCache::SrsStreamCache(SrsSource* s, SrsRequest* r)
|
||||||
|
@ -484,7 +486,12 @@ int SrsLiveStream::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
|
||||||
if (srs_string_ends_with(entry->pattern, ".flv")) {
|
if (srs_string_ends_with(entry->pattern, ".flv")) {
|
||||||
w->header()->set_content_type("video/x-flv");
|
w->header()->set_content_type("video/x-flv");
|
||||||
#ifdef SRS_PERF_FAST_FLV_ENCODER
|
#ifdef SRS_PERF_FAST_FLV_ENCODER
|
||||||
enc = new SrsFastFlvStreamEncoder();
|
bool realtime = _srs_config->get_realtime_enabled(req->vhost);
|
||||||
|
if (realtime) {
|
||||||
|
enc = new SrsFlvStreamEncoder();
|
||||||
|
} else {
|
||||||
|
enc = new SrsFastFlvStreamEncoder();
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
enc = new SrsFlvStreamEncoder();
|
enc = new SrsFlvStreamEncoder();
|
||||||
#endif
|
#endif
|
||||||
|
@ -542,6 +549,8 @@ int SrsLiveStream::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
|
||||||
SrsHttpMessage* hr = dynamic_cast<SrsHttpMessage*>(r);
|
SrsHttpMessage* hr = dynamic_cast<SrsHttpMessage*>(r);
|
||||||
SrsResponseOnlyHttpConn* hc = dynamic_cast<SrsResponseOnlyHttpConn*>(hr->connection());
|
SrsResponseOnlyHttpConn* hc = dynamic_cast<SrsResponseOnlyHttpConn*>(hr->connection());
|
||||||
|
|
||||||
|
int mw_sleep = _srs_config->get_mw_sleep_ms(req->vhost);
|
||||||
|
|
||||||
SrsHttpRecvThread* trd = new SrsHttpRecvThread(hc);
|
SrsHttpRecvThread* trd = new SrsHttpRecvThread(hc);
|
||||||
SrsAutoFree(SrsHttpRecvThread, trd);
|
SrsAutoFree(SrsHttpRecvThread, trd);
|
||||||
|
|
||||||
|
@ -570,15 +579,15 @@ int SrsLiveStream::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
|
||||||
if (count <= 0) {
|
if (count <= 0) {
|
||||||
srs_info("http: sleep %dms for no msg", SRS_CONSTS_RTMP_PULSE_TIMEOUT_US);
|
srs_info("http: sleep %dms for no msg", SRS_CONSTS_RTMP_PULSE_TIMEOUT_US);
|
||||||
// directly use sleep, donot use consumer wait.
|
// directly use sleep, donot use consumer wait.
|
||||||
st_usleep(SRS_CONSTS_RTMP_PULSE_TIMEOUT_US);
|
st_usleep(mw_sleep);
|
||||||
|
|
||||||
// ignore when nothing got.
|
// ignore when nothing got.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pprint->can_print()) {
|
if (pprint->can_print()) {
|
||||||
srs_info("-> "SRS_CONSTS_LOG_HTTP_STREAM" http: got %d msgs, age=%d, min=%d, mw=%d",
|
srs_trace("-> "SRS_CONSTS_LOG_HTTP_STREAM" http: got %d msgs, age=%d, min=%d, mw=%d",
|
||||||
count, pprint->age(), SRS_PERF_MW_MIN_MSGS, SRS_CONSTS_RTMP_PULSE_TIMEOUT_US / 1000);
|
count, pprint->age(), SRS_PERF_MW_MIN_MSGS, mw_sleep);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sendout all messages.
|
// sendout all messages.
|
||||||
|
|
|
@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
// current release version
|
// current release version
|
||||||
#define VERSION_MAJOR 2
|
#define VERSION_MAJOR 2
|
||||||
#define VERSION_MINOR 0
|
#define VERSION_MINOR 0
|
||||||
#define VERSION_REVISION 251
|
#define VERSION_REVISION 252
|
||||||
|
|
||||||
// generated by configure, only macros.
|
// generated by configure, only macros.
|
||||||
#include <srs_auto_headers.hpp>
|
#include <srs_auto_headers.hpp>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue