server: remove Session header from ANNOUNCE responses (https://github.com/aler9/rtsp-simple-server/issues/840)

This commit is contained in:
aler9
2022-02-19 19:18:39 +01:00
parent 7dd4842fc0
commit 0e8595a31d
4 changed files with 58 additions and 76 deletions

View File

@@ -281,17 +281,20 @@ func (ss *ServerSession) run() {
var returnedSession *ServerSession
if err == nil || err == errSwitchReadFunc {
if res.Header == nil {
res.Header = make(base.Header)
}
// ANNOUNCE responses don't contain the session header.
if req.req.Method != base.Announce {
if res.Header == nil {
res.Header = make(base.Header)
}
res.Header["Session"] = headers.Session{
Session: ss.secretID,
Timeout: func() *uint {
v := uint(ss.s.sessionTimeout / time.Second)
return &v
}(),
}.Write()
res.Header["Session"] = headers.Session{
Session: ss.secretID,
Timeout: func() *uint {
v := uint(ss.s.sessionTimeout / time.Second)
return &v
}(),
}.Write()
}
if req.req.Method != base.Teardown {
returnedSession = ss