fix: auto close client

This commit is contained in:
langhuihui
2023-10-25 08:57:33 +08:00
parent c13d8c659d
commit 9ac21a130e
3 changed files with 14 additions and 8 deletions

View File

@@ -22,6 +22,13 @@ type RTSPPuller struct {
RTSPClient RTSPClient
} }
func (p *RTSPClient) Close() error {
if p.Client != nil {
p.Client.Close()
}
return nil
}
func (p *RTSPClient) Disconnect() { func (p *RTSPClient) Disconnect() {
if p.Client != nil { if p.Client != nil {
p.Client.Close() p.Client.Close()
@@ -46,7 +53,7 @@ func (p *RTSPPuller) Connect() error {
return err return err
} }
p.Client = client p.Client = client
p.SetIO(p.Client) p.SetIO(p)
return nil return nil
} }
@@ -118,10 +125,11 @@ func (p *RTSPPusher) Connect() error {
p.Error("Client.Start", zap.Error(err)) p.Error("Client.Start", zap.Error(err))
return err return err
} }
p.SetIO(p.Client) p.SetIO(p)
_, err = p.Client.Options(u) _, err = p.Client.Options(u)
return err return err
} }
func (p *RTSPPusher) Push() (err error) { func (p *RTSPPusher) Push() (err error) {
var u *url.URL var u *url.URL
u, err = url.Parse(p.RemoteURL) u, err = url.Parse(p.RemoteURL)
@@ -135,7 +143,7 @@ func (p *RTSPPusher) Push() (err error) {
p.Error("Announce", zap.Error(err)) p.Error("Announce", zap.Error(err))
return return
} }
err = p.SetupAll(p.session.BaseURL, p.session.Medias) err = p.SetupAll(u, p.session.Medias)
if err != nil { if err != nil {
p.Error("Setup", zap.Error(err)) p.Error("Setup", zap.Error(err))
return return

2
go.mod
View File

@@ -3,7 +3,7 @@ module m7s.live/plugin/rtsp/v4
go 1.18 go 1.18
require ( require (
github.com/bluenviron/gortsplib/v4 v4.2.1 github.com/bluenviron/gortsplib/v4 v4.2.2-0.20231023175953-d4bb674a5091
github.com/bluenviron/mediacommon v1.5.0 github.com/bluenviron/mediacommon v1.5.0
github.com/pion/rtp v1.8.2 github.com/pion/rtp v1.8.2
go.uber.org/zap v1.24.0 go.uber.org/zap v1.24.0

6
go.sum
View File

@@ -1,9 +1,7 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/bluenviron/gortsplib/v4 v3.11.0 h1:oE8j9/2+T2JyttEO9SkJKskRerdMaW10zPoI0vEIlz4= github.com/bluenviron/gortsplib/v4 v4.2.2-0.20231023175953-d4bb674a5091 h1:VY+xh0y9kIrAqwuJHUOdS/ZdY2JPtNqzWtVN4QJr2Lo=
github.com/bluenviron/gortsplib/v4 v3.11.0/go.mod h1:LZewC0KP6zhBceENKiSMNEryqGHljoIMq5W1SVS4vNs= github.com/bluenviron/gortsplib/v4 v4.2.2-0.20231023175953-d4bb674a5091/go.mod h1:VOoeI2VxRKh5eEg6Y48DGb/oLxU1i+X0Xzv9z8dvsUQ=
github.com/bluenviron/gortsplib/v4 v4.2.1 h1:LugQr3TIKoj6GjOf470teDP8goWiL8PTrX2OaF+L2Vc=
github.com/bluenviron/gortsplib/v4 v4.2.1/go.mod h1:VOoeI2VxRKh5eEg6Y48DGb/oLxU1i+X0Xzv9z8dvsUQ=
github.com/bluenviron/mediacommon v1.5.0 h1:lS0YKNo22ZOyCsYcLh3jn3TgUALqYw0f7RVwalC09vI= github.com/bluenviron/mediacommon v1.5.0 h1:lS0YKNo22ZOyCsYcLh3jn3TgUALqYw0f7RVwalC09vI=
github.com/bluenviron/mediacommon v1.5.0/go.mod h1:Ij/kE1LEucSjryNBVTyPL/gBI0d6/Css3f5PyrM957w= github.com/bluenviron/mediacommon v1.5.0/go.mod h1:Ij/kE1LEucSjryNBVTyPL/gBI0d6/Css3f5PyrM957w=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=