Fix RTSP passive producer

This commit is contained in:
Alexey Khit
2023-04-17 10:09:38 +03:00
parent 1837e7c86c
commit fd580b6f2c
2 changed files with 11 additions and 6 deletions
+10 -2
View File
@@ -51,11 +51,19 @@ func (c *Conn) Start() (err error) {
case StateConn: case StateConn:
err = errors.New("start from CONN state") err = errors.New("start from CONN state")
case StateSetup: case StateSetup:
if err = c.Play(); err == nil { switch c.mode {
case core.ModeActiveProducer:
err = c.Play()
case core.ModePassiveProducer:
err = nil
default:
err = errors.New("start from wrong mode: " + c.mode.String())
}
if err == nil {
c.state = StatePlay c.state = StatePlay
ok = true ok = true
} }
case StatePlay:
} }
c.stateMu.Unlock() c.stateMu.Unlock()
+1 -4
View File
@@ -151,10 +151,7 @@ func (c *Conn) Accept() error {
case MethodRecord, MethodPlay: case MethodRecord, MethodPlay:
res := &tcp.Response{Request: req} res := &tcp.Response{Request: req}
if err = c.WriteResponse(res); err == nil { return c.WriteResponse(res)
c.state = StatePlay
}
return err
case MethodTeardown: case MethodTeardown:
res := &tcp.Response{Request: req} res := &tcp.Response{Request: req}