diff --git a/main.go b/main.go index c36a0b6..fcd7bb7 100644 --- a/main.go +++ b/main.go @@ -64,6 +64,7 @@ func init() { for _, device := range proto.Config.DeviceInfo { service.DeviceRWMap[device.ID] = sync.RWMutex{} service.DeviceCurrentFrameMap[device.ID] = gocv.NewMat() + service.DeviceIsStop[device.ID] = true } } diff --git a/service/tool.go b/service/tool.go index 91c4658..f3885eb 100644 --- a/service/tool.go +++ b/service/tool.go @@ -109,6 +109,10 @@ func Get(url string) int { } func GetVideoStream(id int) { + if DeviceIsStop[id] == false { + fmt.Println("device:", id, " is running!") + return + } for { var device proto.DeviceInfo var index int @@ -129,14 +133,12 @@ func GetVideoStream(id int) { DeviceIsStop[id] = true break } - if DeviceIsStop[id] == false { - break - } //设置设备控制信息 status := Get(device.Control) DeviceIsStop[id] = false log.Println("device:", device.ID, " set control info status:", status) getVideoFrame(device) + DeviceIsStop[id] = true //停止之后,设置已停止信息 } }