mirror of
https://github.com/langhuihui/monibuca.git
synced 2025-09-26 23:05:55 +08:00
fix: gb pull proxy
This commit is contained in:
@@ -59,8 +59,10 @@ func (c *Channel) GetKey() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type PullProxy struct {
|
type PullProxy struct {
|
||||||
task.Task
|
task.TickTask
|
||||||
m7s.BasePullProxy
|
m7s.BasePullProxy
|
||||||
|
deviceId, channelId string
|
||||||
|
devices *task.WorkCollection[string, *Device]
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPullProxy() m7s.IPullProxy {
|
func NewPullProxy() m7s.IPullProxy {
|
||||||
@@ -73,11 +75,17 @@ func (p *PullProxy) GetKey() uint {
|
|||||||
|
|
||||||
func (p *PullProxy) Start() error {
|
func (p *PullProxy) Start() error {
|
||||||
streamPaths := strings.Split(p.GetStreamPath(), "/")
|
streamPaths := strings.Split(p.GetStreamPath(), "/")
|
||||||
deviceId, channelId := streamPaths[0], streamPaths[1]
|
p.deviceId, p.channelId = streamPaths[0], streamPaths[1]
|
||||||
if device, ok := p.Plugin.GetHandler().(*GB28181Plugin).devices.Get(deviceId); ok {
|
p.devices = &p.Plugin.GetHandler().(*GB28181Plugin).devices
|
||||||
if _, ok := device.channels.Get(deviceId + "_" + channelId); ok {
|
return p.TickTask.Start()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PullProxy) Tick(any) {
|
||||||
|
if device, ok := p.devices.Get(p.deviceId); ok {
|
||||||
|
if _, ok := device.channels.Get(p.deviceId + "_" + p.channelId); ok {
|
||||||
p.ChangeStatus(m7s.PullProxyStatusOnline)
|
p.ChangeStatus(m7s.PullProxyStatusOnline)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
p.ChangeStatus(m7s.PullProxyStatusOffline)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user