mirror of
https://github.com/Monibuca/plugin-rtsp.git
synced 2025-09-27 03:56:08 +08:00
fix: auto close client
This commit is contained in:
14
client.go
14
client.go
@@ -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
2
go.mod
@@ -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
6
go.sum
@@ -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=
|
||||||
|
Reference in New Issue
Block a user