mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
For #913, reload use complex error
This commit is contained in:
parent
3744606c9b
commit
fd91df9411
28 changed files with 642 additions and 630 deletions
|
@ -1295,12 +1295,13 @@ int SrsOriginHub::on_dvr_request_sh()
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsOriginHub::on_reload_vhost_forward(string vhost)
|
||||
srs_error_t SrsOriginHub::on_reload_vhost_forward(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// TODO: FIXME: maybe should ignore when publish already stopped?
|
||||
|
@ -1310,70 +1311,68 @@ int SrsOriginHub::on_reload_vhost_forward(string vhost)
|
|||
|
||||
// Don't start forwarders when source is not active.
|
||||
if (!is_active) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((ret = create_forwarders()) != ERROR_SUCCESS) {
|
||||
srs_error("create forwarders failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "create forwarders");
|
||||
}
|
||||
|
||||
srs_trace("vhost %s forwarders reload success", vhost.c_str());
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsOriginHub::on_reload_vhost_dash(string vhost)
|
||||
srs_error_t SrsOriginHub::on_reload_vhost_dash(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
dash->on_unpublish();
|
||||
|
||||
// Don't start DASH when source is not active.
|
||||
if (!is_active) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((ret = dash->on_publish()) != ERROR_SUCCESS) {
|
||||
srs_error("DASH start failed, ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "dash start publish");
|
||||
}
|
||||
|
||||
SrsSharedPtrMessage* cache_sh_video = source->meta->vsh();
|
||||
if (cache_sh_video) {
|
||||
if ((ret = format->on_video(cache_sh_video)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
return srs_error_new(ret, "format on_video");
|
||||
}
|
||||
if ((ret = dash->on_video(cache_sh_video, format)) != ERROR_SUCCESS) {
|
||||
srs_error("DASH consume video failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "dash on_video");
|
||||
}
|
||||
}
|
||||
|
||||
SrsSharedPtrMessage* cache_sh_audio = source->meta->ash();
|
||||
if (cache_sh_audio) {
|
||||
if ((ret = format->on_audio(cache_sh_audio)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
return srs_error_new(ret, "format on_audio");
|
||||
}
|
||||
if ((ret = dash->on_audio(cache_sh_audio, format)) != ERROR_SUCCESS) {
|
||||
srs_error("DASH consume audio failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "dash on_audio");
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsOriginHub::on_reload_vhost_hls(string vhost)
|
||||
srs_error_t SrsOriginHub::on_reload_vhost_hls(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// TODO: FIXME: maybe should ignore when publish already stopped?
|
||||
|
@ -1382,12 +1381,11 @@ int SrsOriginHub::on_reload_vhost_hls(string vhost)
|
|||
|
||||
// Don't start HLS when source is not active.
|
||||
if (!is_active) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((ret = hls->on_publish()) != ERROR_SUCCESS) {
|
||||
srs_error("hls publish failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "hls publish failed");
|
||||
}
|
||||
srs_trace("vhost %s hls reload success", vhost.c_str());
|
||||
|
||||
|
@ -1399,34 +1397,33 @@ int SrsOriginHub::on_reload_vhost_hls(string vhost)
|
|||
SrsSharedPtrMessage* cache_sh_video = source->meta->vsh();
|
||||
if (cache_sh_video) {
|
||||
if ((ret = format->on_video(cache_sh_video)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
return srs_error_new(ret, "format on_video");
|
||||
}
|
||||
if ((ret = hls->on_video(cache_sh_video, format)) != ERROR_SUCCESS) {
|
||||
srs_error("hls process video sequence header message failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "hls on_video");
|
||||
}
|
||||
}
|
||||
|
||||
SrsSharedPtrMessage* cache_sh_audio = source->meta->ash();
|
||||
if (cache_sh_audio) {
|
||||
if ((ret = format->on_audio(cache_sh_audio)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
return srs_error_new(ret, "format on_audio");
|
||||
}
|
||||
if ((ret = hls->on_audio(cache_sh_audio, format)) != ERROR_SUCCESS) {
|
||||
srs_error("hls process audio sequence header message failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "hls on_audio");
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsOriginHub::on_reload_vhost_hds(string vhost)
|
||||
srs_error_t SrsOriginHub::on_reload_vhost_hds(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// TODO: FIXME: maybe should ignore when publish already stopped?
|
||||
|
@ -1436,26 +1433,25 @@ int SrsOriginHub::on_reload_vhost_hds(string vhost)
|
|||
|
||||
// Don't start HDS when source is not active.
|
||||
if (!is_active) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((ret = hds->on_publish(req)) != ERROR_SUCCESS) {
|
||||
srs_error("hds publish failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "hds publish failed");
|
||||
}
|
||||
srs_trace("vhost %s hds reload success", vhost.c_str());
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsOriginHub::on_reload_vhost_dvr(string vhost)
|
||||
srs_error_t SrsOriginHub::on_reload_vhost_dvr(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// TODO: FIXME: maybe should ignore when publish already stopped?
|
||||
|
@ -1465,39 +1461,35 @@ int SrsOriginHub::on_reload_vhost_dvr(string vhost)
|
|||
|
||||
// Don't start DVR when source is not active.
|
||||
if (!is_active) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// reinitialize the dvr, update plan.
|
||||
if ((err = dvr->initialize(this, req)) != srs_success) {
|
||||
// TODO: FIXME: Use error.
|
||||
ret = srs_error_code(err);
|
||||
srs_freep(err);
|
||||
|
||||
return ret;
|
||||
return srs_error_wrap(err, "reload dvr");
|
||||
}
|
||||
|
||||
// start to publish by new plan.
|
||||
if ((ret = dvr->on_publish()) != ERROR_SUCCESS) {
|
||||
srs_error("dvr publish failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "dvr publish failed");
|
||||
}
|
||||
|
||||
if ((ret = on_dvr_request_sh()) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
return srs_error_new(ret, "request sh");
|
||||
}
|
||||
|
||||
srs_trace("vhost %s dvr reload success", vhost.c_str());
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsOriginHub::on_reload_vhost_transcode(string vhost)
|
||||
srs_error_t SrsOriginHub::on_reload_vhost_transcode(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// TODO: FIXME: maybe should ignore when publish already stopped?
|
||||
|
@ -1507,25 +1499,25 @@ int SrsOriginHub::on_reload_vhost_transcode(string vhost)
|
|||
|
||||
// Don't start transcode when source is not active.
|
||||
if (!is_active) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((ret = encoder->on_publish(req)) != ERROR_SUCCESS) {
|
||||
srs_error("start encoder failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "start encoder failed");
|
||||
}
|
||||
srs_trace("vhost %s transcode reload success", vhost.c_str());
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsOriginHub::on_reload_vhost_exec(string vhost)
|
||||
srs_error_t SrsOriginHub::on_reload_vhost_exec(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// TODO: FIXME: maybe should ignore when publish already stopped?
|
||||
|
@ -1534,16 +1526,15 @@ int SrsOriginHub::on_reload_vhost_exec(string vhost)
|
|||
|
||||
// Don't start exec when source is not active.
|
||||
if (!is_active) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((ret = ng_exec->on_publish(req)) != ERROR_SUCCESS) {
|
||||
srs_error("start exec failed. ret=%d", ret);
|
||||
return ret;
|
||||
return srs_error_new(ret, "start exec failed");
|
||||
}
|
||||
srs_trace("vhost %s exec reload success", vhost.c_str());
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsOriginHub::create_forwarders()
|
||||
|
@ -1993,12 +1984,12 @@ srs_error_t SrsSource::initialize(SrsRequest* r, ISrsSourceHandler* h)
|
|||
return err;
|
||||
}
|
||||
|
||||
int SrsSource::on_reload_vhost_play(string vhost)
|
||||
srs_error_t SrsSource::on_reload_vhost_play(string vhost)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
if (req->vhost != vhost) {
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
// time_jitter
|
||||
|
@ -2073,7 +2064,7 @@ int SrsSource::on_reload_vhost_play(string vhost)
|
|||
#endif
|
||||
}
|
||||
|
||||
return ret;
|
||||
return err;
|
||||
}
|
||||
|
||||
int SrsSource::on_source_id_changed(int id)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue