@@ -194,6 +194,13 @@ func (s *session) onAnnounce(c *conn, ctx *gortsplib.ServerHandlerOnAnnounceCtx)
194194 }, nil
195195}
196196
197+ func (s * session ) rtspStream () * gortsplib.ServerStream {
198+ if ! s .isTLS {
199+ return s .stream .RTSPStream (s .rserver )
200+ }
201+ return s .stream .RTSPSStream (s .rserver )
202+ }
203+
197204// onSetup is called by rtspServer.
198205func (s * session ) onSetup (c * conn , ctx * gortsplib.ServerHandlerOnSetupCtx ,
199206) (* base.Response , * gortsplib.ServerStream , error ) {
@@ -226,7 +233,7 @@ func (s *session) onSetup(c *conn, ctx *gortsplib.ServerHandlerOnSetupCtx,
226233 }
227234
228235 switch s .rsession .State () {
229- case gortsplib .ServerSessionStateInitial , gortsplib . ServerSessionStatePrePlay : // play
236+ case gortsplib .ServerSessionStateInitial : // play
230237 path , stream , err := s .pathManager .AddReader (defs.PathAddReaderReq {
231238 Author : s ,
232239 AccessRequest : defs.PathAccessRequest {
@@ -261,16 +268,14 @@ func (s *session) onSetup(c *conn, ctx *gortsplib.ServerHandlerOnSetupCtx,
261268 s .path = path
262269 s .stream = stream
263270
264- var rstream * gortsplib.ServerStream
265- if ! s .isTLS {
266- rstream = stream .RTSPStream (s .rserver )
267- } else {
268- rstream = stream .RTSPSStream (s .rserver )
269- }
271+ return & base.Response {
272+ StatusCode : base .StatusOK ,
273+ }, s .rtspStream (), nil
270274
275+ case gortsplib .ServerSessionStatePrePlay : // play, subsequent calls
271276 return & base.Response {
272277 StatusCode : base .StatusOK ,
273- }, rstream , nil
278+ }, s . rtspStream () , nil
274279
275280 default : // record
276281 return & base.Response {
0 commit comments