mirror of
https://github.com/aler9/gortsplib
synced 2025-10-31 02:26:57 +08:00
server: correctly close sessions in case of errors during SETUP
(https://github.com/aler9/rtsp-simple-server/issues/965)
This commit is contained in:
@@ -337,7 +337,8 @@ func (ss *ServerSession) runInner() error {
|
||||
|
||||
res, err := ss.handleRequest(req.sc, req.req)
|
||||
|
||||
var returnedSession *ServerSession
|
||||
returnedSession := ss
|
||||
|
||||
if err == nil || err == errSwitchReadFunc {
|
||||
// ANNOUNCE responses don't contain the session header.
|
||||
if req.req.Method != base.Announce &&
|
||||
@@ -364,9 +365,9 @@ func (ss *ServerSession) runInner() error {
|
||||
}.Write()
|
||||
}
|
||||
|
||||
// after a TEARDOWN, session must be unpaired with the connection.
|
||||
if req.req.Method != base.Teardown {
|
||||
returnedSession = ss
|
||||
// after a TEARDOWN, session must be unpaired with the connection
|
||||
if req.req.Method == base.Teardown {
|
||||
returnedSession = nil
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user