diff --git a/trunk/src/core/srs_core_hls.cpp b/trunk/src/core/srs_core_hls.cpp index b34a3022f..050711056 100644 --- a/trunk/src/core/srs_core_hls.cpp +++ b/trunk/src/core/srs_core_hls.cpp @@ -617,6 +617,9 @@ int SrsHLS::reopen() if (current) { current->duration = (stream_dts - current->segment_start_dts) / 90000.0; segments.push_back(current); + + // close the muxer of finished segment. + srs_freep(current->muxer); current = NULL; // the segments to remove