diff --git a/serverconn.go b/serverconn.go index 1293b620..d7091ecb 100644 --- a/serverconn.go +++ b/serverconn.go @@ -513,6 +513,12 @@ func (sc *ServerConn) handleRequest(req *base.Request) (*base.Response, error) { }, err } + if len(sc.tracks) == 0 { + return &base.Response{ + StatusCode: base.StatusBadRequest, + }, fmt.Errorf("no tracks have been setup") + } + res, err := sc.readHandlers.OnPlay(req) if res.StatusCode == 200 && sc.state != ServerConnStatePlay { @@ -534,6 +540,12 @@ func (sc *ServerConn) handleRequest(req *base.Request) (*base.Response, error) { }, err } + if len(sc.tracks) == 0 { + return &base.Response{ + StatusCode: base.StatusBadRequest, + }, fmt.Errorf("no tracks have been setup") + } + res, err := sc.readHandlers.OnRecord(req) if res.StatusCode == 200 {