diff --git a/README.md b/README.md index c2c345d0f..3d547ee73 100755 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ Please select your language: ### V2 changes +* v2.0, 2017-01-11, fix [#736][bug #736], recovery the hls dispose. 2.0.227 * v2.0, 2017-01-10, refine hls html5 video template. * v2.0, 2017-01-10, fix [#635][bug #635], hls support NonIDR(open gop). 2.0.226 * v2.0, 2017-01-06, for [#730][bug #730], reset ack follow flash player rules. 2.0.225 diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index d7d6e4bc5..0b7d4256b 100755 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -800,8 +800,6 @@ int SrsSource::cycle_all() { int ret = ERROR_SUCCESS; - // TODO: FIXME: support source cleanup. - // @see https://github.com/ossrs/srs/issues/714 int cid = _srs_context->get_id(); ret = do_cycle_all(); _srs_context->set_id(cid); @@ -816,10 +814,17 @@ int SrsSource::do_cycle_all() std::map::iterator it; for (it = pool.begin(); it != pool.end();) { SrsSource* source = it->second; + + // Do cycle source to cleanup components, such as hls dispose. if ((ret = source->cycle()) != ERROR_SUCCESS) { return ret; } + // TODO: FIXME: support source cleanup. + // @see https://github.com/ossrs/srs/issues/713 + // @see https://github.com/ossrs/srs/issues/714 +#if 0 + // When source expired, remove it. if (source->expired()) { int cid = source->source_id(); if (cid == -1 && source->pre_source_id() > 0) { @@ -835,6 +840,9 @@ int SrsSource::do_cycle_all() } else { ++it; } +#else + ++it; +#endif } return ret;