|
|
|
@ -598,8 +598,12 @@ srs_error_t SrsDvrPlan::initialize(SrsOriginHub* h, SrsDvrSegmenter* s, SrsReque
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
srs_error_t SrsDvrPlan::on_publish()
|
|
|
|
|
srs_error_t SrsDvrPlan::on_publish(SrsRequest* r)
|
|
|
|
|
{
|
|
|
|
|
// @see https://github.com/ossrs/srs/issues/1613#issuecomment-960623359
|
|
|
|
|
srs_freep(req);
|
|
|
|
|
req = r->copy();
|
|
|
|
|
|
|
|
|
|
return srs_success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -687,11 +691,11 @@ SrsDvrSessionPlan::~SrsDvrSessionPlan()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
srs_error_t SrsDvrSessionPlan::on_publish()
|
|
|
|
|
srs_error_t SrsDvrSessionPlan::on_publish(SrsRequest* r)
|
|
|
|
|
{
|
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
|
|
|
|
|
|
if ((err = SrsDvrPlan::on_publish()) != srs_success) {
|
|
|
|
|
if ((err = SrsDvrPlan::on_publish(r)) != srs_success) {
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -762,11 +766,11 @@ srs_error_t SrsDvrSegmentPlan::initialize(SrsOriginHub* h, SrsDvrSegmenter* s, S
|
|
|
|
|
return srs_success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
srs_error_t SrsDvrSegmentPlan::on_publish()
|
|
|
|
|
srs_error_t SrsDvrSegmentPlan::on_publish(SrsRequest* r)
|
|
|
|
|
{
|
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
|
|
|
|
|
|
if ((err = SrsDvrPlan::on_publish()) != srs_success) {
|
|
|
|
|
if ((err = SrsDvrPlan::on_publish(r)) != srs_success) {
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -913,13 +917,14 @@ SrsDvr::~SrsDvr()
|
|
|
|
|
_srs_config->unsubscribe(this);
|
|
|
|
|
|
|
|
|
|
srs_freep(plan);
|
|
|
|
|
srs_freep(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
srs_error_t SrsDvr::initialize(SrsOriginHub* h, SrsRequest* r)
|
|
|
|
|
{
|
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
|
|
|
|
|
|
req = r;
|
|
|
|
|
req = r->copy();
|
|
|
|
|
hub = h;
|
|
|
|
|
|
|
|
|
|
SrsConfDirective* conf = _srs_config->get_dvr_apply(r->vhost);
|
|
|
|
@ -945,7 +950,7 @@ srs_error_t SrsDvr::initialize(SrsOriginHub* h, SrsRequest* r)
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
srs_error_t SrsDvr::on_publish()
|
|
|
|
|
srs_error_t SrsDvr::on_publish(SrsRequest* r)
|
|
|
|
|
{
|
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
|
|
|
|
|
@ -954,9 +959,12 @@ srs_error_t SrsDvr::on_publish()
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((err = plan->on_publish()) != srs_success) {
|
|
|
|
|
if ((err = plan->on_publish(r)) != srs_success) {
|
|
|
|
|
return srs_error_wrap(err, "publish");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
srs_freep(req);
|
|
|
|
|
req = r->copy();
|
|
|
|
|
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
|