From ed8665762a03045a402977745839db31aea180dc Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Sun, 20 Nov 2022 22:15:49 +0100 Subject: [PATCH] examples: fix memory leak in server-h264-save-to-disk --- examples/server-h264-save-to-disk/main.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/server-h264-save-to-disk/main.go b/examples/server-h264-save-to-disk/main.go index b80a196a..d8c32394 100644 --- a/examples/server-h264-save-to-disk/main.go +++ b/examples/server-h264-save-to-disk/main.go @@ -46,8 +46,8 @@ func (sh *serverHandler) OnSessionClose(ctx *gortsplib.ServerHandlerOnSessionClo sh.mutex.Lock() defer sh.mutex.Unlock() - // allow someone else to publish sh.publisher = nil + sh.mpegtsMuxer.close() } // called after receiving an ANNOUNCE request. @@ -58,9 +58,8 @@ func (sh *serverHandler) OnAnnounce(ctx *gortsplib.ServerHandlerOnAnnounceCtx) ( defer sh.mutex.Unlock() if sh.publisher != nil { - return &base.Response{ - StatusCode: base.StatusBadRequest, - }, fmt.Errorf("someone is already publishing") + sh.publisher.Close() + sh.mpegtsMuxer.close() } // find the H264 track