diff --git a/internal/path/path.go b/internal/path/path.go index cfcdc6d5..d8aaedeb 100644 --- a/internal/path/path.go +++ b/internal/path/path.go @@ -558,10 +558,15 @@ func (pa *Path) onReadPublisherSetupPlayPost(req readpublisher.SetupPlayReq) { pa.addReadPublisher(req.Author, readPublisherStatePrePlay) } + var ti []streamproc.TrackInfo + if pa.sp != nil { + ti = pa.sp.TrackInfos() + } + req.Res <- readpublisher.SetupPlayRes{ Path: pa, Tracks: pa.sourceTracks, - TrackInfos: pa.sp.TrackInfos(), + TrackInfos: ti, } } diff --git a/internal/rtspsession/session.go b/internal/rtspsession/session.go index eb4f3e58..cc281b22 100644 --- a/internal/rtspsession/session.go +++ b/internal/rtspsession/session.go @@ -224,7 +224,7 @@ func (s *Session) OnSetup(c *rtspconn.Conn, ctx *gortsplib.ServerHandlerOnSetupC s.setuppedTracks[ctx.TrackID] = res.Tracks[ctx.TrackID] var ssrc *uint32 - if res.TrackInfos[ctx.TrackID].LastSSRC != 0 { + if res.TrackInfos != nil && res.TrackInfos[ctx.TrackID].LastSSRC != 0 { ssrc = &res.TrackInfos[ctx.TrackID].LastSSRC }