Fix RTSP passive producer
This commit is contained in:
+10
-2
@@ -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
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user