使用分离方式,修改视频流返回方式

This commit is contained in:
lijun 2025-01-18 19:47:36 +08:00
parent 8de01c90c2
commit a12a055e53
1 changed files with 7 additions and 7 deletions

View File

@ -23,17 +23,17 @@ var Device1CurrentFrame gocv.Mat
var Device50CurrentFrame gocv.Mat var Device50CurrentFrame gocv.Mat
var Device73CurrentFrame gocv.Mat var Device73CurrentFrame gocv.Mat
func SetDeviceCurrentFrame(frame *gocv.Mat, device_id int) error { func SetDeviceCurrentFrame(frame *gocv.Mat, deviceId int) error {
//获取读写锁 //获取读写锁
mutex_, ok := DeviceRWMap.Load(device_id) mutex_, ok := DeviceRWMap.Load(deviceId)
if !ok { if !ok {
return fmt.Errorf("设备:%s 读写锁不存在", device_id) return fmt.Errorf("设备:%s 读写锁不存在", deviceId)
} }
mutex := mutex_.(*sync.RWMutex) mutex := mutex_.(*sync.RWMutex)
mutex.Lock() mutex.Lock()
defer mutex.Unlock() defer mutex.Unlock()
//设置当前帧 //设置当前帧
switch device_id { switch deviceId {
case 1: case 1:
if Device1CurrentFrame.Empty() { if Device1CurrentFrame.Empty() {
Device1CurrentFrame = gocv.NewMatWithSize((*frame).Rows(), (*frame).Cols(), (*frame).Type()) Device1CurrentFrame = gocv.NewMatWithSize((*frame).Rows(), (*frame).Cols(), (*frame).Type())
@ -51,12 +51,12 @@ func SetDeviceCurrentFrame(frame *gocv.Mat, device_id int) error {
(*frame).CopyTo(&Device73CurrentFrame) (*frame).CopyTo(&Device73CurrentFrame)
} }
frameCount, ok := DeviceFrameCount[device_id] frameCount, ok := DeviceFrameCount[deviceId]
if !ok { if !ok {
return fmt.Errorf("设备:%s 当前帧计数不存在", device_id) return fmt.Errorf("设备:%s 当前帧计数不存在", deviceId)
} }
frameCount++ frameCount++
DeviceFrameCount[device_id] = frameCount DeviceFrameCount[deviceId] = frameCount
return nil return nil
} }