diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index e035b67af..144045064 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -923,10 +923,6 @@ srs_error_t SrsHlsController::on_unpublish() { srs_error_t err = srs_success; - if ((err = muxer->on_unpublish()) != srs_success) { - return srs_error_wrap(err, "muxer unpublish"); - } - if ((err = muxer->flush_audio(tsmc)) != srs_success) { return srs_error_wrap(err, "hls: flush audio"); } @@ -934,6 +930,10 @@ srs_error_t SrsHlsController::on_unpublish() if ((err = muxer->segment_close()) != srs_success) { return srs_error_wrap(err, "hls: segment close"); } + + if ((err = muxer->on_unpublish()) != srs_success) { + return srs_error_wrap(err, "muxer unpublish"); + } return err; }