diff --git a/trunk/src/core/srs_core_source.cpp b/trunk/src/core/srs_core_source.cpp index 19284a4e4..9349fb13d 100755 --- a/trunk/src/core/srs_core_source.cpp +++ b/trunk/src/core/srs_core_source.cpp @@ -382,7 +382,13 @@ void SrsSource::on_consumer_destroy(SrsConsumer* consumer) void SrsSource::on_unpublish() { clear_gop_cache(); - srs_trace("clear cache when unpublish."); + + srs_freep(cache_metadata); + + srs_freep(cache_sh_video); + srs_freep(cache_sh_audio); + + srs_trace("clear cache/metadata/sequence-headers when unpublish."); } int SrsSource::cache_last_gop(SrsSharedPtrMessage* msg)