1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

supprot LAS(live adaptive stream)

Change-Id: I2f9fd889fc924a3b080667bd2114f4632be461a0
This commit is contained in:
liulichuan 2020-05-11 00:50:14 +08:00 committed by winlin
parent 34e7db5a93
commit c1f98ddcc8
10 changed files with 843 additions and 10 deletions

View file

@ -587,13 +587,29 @@ srs_error_t SrsLiveStream::do_serve_http(ISrsHttpResponseWriter* w, ISrsHttpMess
// create consumer of souce, ignore gop cache, use the audio gop cache.
SrsConsumer* consumer = NULL;
SrsAutoFree(SrsConsumer, consumer);
#ifdef SRS_LAS
int64_t lasspts = 0;
bool only_audio = false;
if (!r->query_get("startPts").empty()) {
lasspts = atoi(r->query_get("startPts").c_str());
}
if (r->query_get("onlyAudio") == "true") {
only_audio = true;
}
if ((err = source->create_consumer(NULL, consumer, lasspts, only_audio)) != srs_success) {
return srs_error_wrap(err, "create consumer");
}
if ((err = source->consumer_dumps(consumer, true, true, !enc->has_cache(), lasspts)) != srs_success) {
return srs_error_wrap(err, "dumps consumer");
}
#else
if ((err = source->create_consumer(NULL, consumer)) != srs_success) {
return srs_error_wrap(err, "create consumer");
}
if ((err = source->consumer_dumps(consumer, true, true, !enc->has_cache())) != srs_success) {
return srs_error_wrap(err, "dumps consumer");
}
#endif
SrsPithyPrint* pprint = SrsPithyPrint::create_http_stream();
SrsAutoFree(SrsPithyPrint, pprint);