update gortsplib

This commit is contained in:
aler9 2021-03-16 14:17:13 +01:00
parent b0208ad044
commit 0a807e8c99
3 changed files with 11 additions and 16 deletions

2
go.mod
View File

@ -5,7 +5,7 @@ go 1.15
require ( require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d // indirect github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d // indirect
github.com/aler9/gortsplib v0.0.0-20210316101133-3a8c76e527e1 github.com/aler9/gortsplib v0.0.0-20210316131127-50babb18c013
github.com/davecgh/go-spew v1.1.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect
github.com/fsnotify/fsnotify v1.4.9 github.com/fsnotify/fsnotify v1.4.9
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51

4
go.sum
View File

@ -2,8 +2,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafo
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/aler9/gortsplib v0.0.0-20210316101133-3a8c76e527e1 h1:7+0qt2CMGB57Oft4fBrPyeOeiFHxMAybfMCo4aX2+qE= github.com/aler9/gortsplib v0.0.0-20210316131127-50babb18c013 h1:VseNrDPM+21Uhsfn1FhR3NHDQWH8uB4YNe5zHkH1xcc=
github.com/aler9/gortsplib v0.0.0-20210316101133-3a8c76e527e1/go.mod h1:aj4kDzanb3JZ46sFywWShcsnqqXTLE/3PNjwDhQZGM0= github.com/aler9/gortsplib v0.0.0-20210316131127-50babb18c013/go.mod h1:aj4kDzanb3JZ46sFywWShcsnqqXTLE/3PNjwDhQZGM0=
github.com/aler9/rtmp v0.0.0-20210309202041-2d7177b7300d h1:LAX8pNvYpGgFpKdbPpEZWjNkHbmyvjMrT3vO7s7aaKU= github.com/aler9/rtmp v0.0.0-20210309202041-2d7177b7300d h1:LAX8pNvYpGgFpKdbPpEZWjNkHbmyvjMrT3vO7s7aaKU=
github.com/aler9/rtmp v0.0.0-20210309202041-2d7177b7300d/go.mod h1:vzuE21rowz+lT1NGsWbreIvYulgBpCGnQyeTyFblUHc= github.com/aler9/rtmp v0.0.0-20210309202041-2d7177b7300d/go.mod h1:vzuE21rowz+lT1NGsWbreIvYulgBpCGnQyeTyFblUHc=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=

View File

@ -159,12 +159,12 @@ func (c *Client) run() {
c.log(logger.Debug, "[s->c] %v", res) c.log(logger.Debug, "[s->c] %v", res)
} }
onDescribe := func(req *base.Request) (*base.Response, error) { onDescribe := func(req *base.Request) (*base.Response, []byte, error) {
reqPath, ok := req.URL.RTSPPath() reqPath, ok := req.URL.RTSPPath()
if !ok { if !ok {
return &base.Response{ return &base.Response{
StatusCode: base.StatusBadRequest, StatusCode: base.StatusBadRequest,
}, fmt.Errorf("invalid path (%s)", req.URL) }, nil, fmt.Errorf("invalid path (%s)", req.URL)
} }
resc := make(chan client.DescribeRes) resc := make(chan client.DescribeRes)
@ -174,7 +174,7 @@ func (c *Client) run() {
if res.Err != nil { if res.Err != nil {
switch terr := res.Err.(type) { switch terr := res.Err.(type) {
case client.ErrAuthNotCritical: case client.ErrAuthNotCritical:
return terr.Response, nil return terr.Response, nil, nil
case client.ErrAuthCritical: case client.ErrAuthCritical:
// wait some seconds to stop brute force attacks // wait some seconds to stop brute force attacks
@ -182,17 +182,17 @@ func (c *Client) run() {
case <-time.After(pauseAfterAuthError): case <-time.After(pauseAfterAuthError):
case <-c.terminate: case <-c.terminate:
} }
return terr.Response, errTerminated return terr.Response, nil, errTerminated
case client.ErrNoOnePublishing: case client.ErrNoOnePublishing:
return &base.Response{ return &base.Response{
StatusCode: base.StatusNotFound, StatusCode: base.StatusNotFound,
}, res.Err }, nil, res.Err
default: default:
return &base.Response{ return &base.Response{
StatusCode: base.StatusBadRequest, StatusCode: base.StatusBadRequest,
}, res.Err }, nil, res.Err
} }
} }
@ -202,17 +202,12 @@ func (c *Client) run() {
Header: base.Header{ Header: base.Header{
"Location": base.HeaderValue{res.Redirect}, "Location": base.HeaderValue{res.Redirect},
}, },
}, nil }, nil, nil
} }
return &base.Response{ return &base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
Header: base.Header{ }, res.SDP, nil
"Content-Base": base.HeaderValue{req.URL.String() + "/"},
"Content-Type": base.HeaderValue{"application/sdp"},
},
Body: res.SDP,
}, nil
} }
onAnnounce := func(req *base.Request, tracks gortsplib.Tracks) (*base.Response, error) { onAnnounce := func(req *base.Request, tracks gortsplib.Tracks) (*base.Response, error) {