up
zhangmeng
2019-12-19 d8d2bc7b4cf8e4a1f2b2a325d2ca02f0eb409d9c
work/sdk/facetrack.go
@@ -30,15 +30,15 @@
*/
import "C"
import (
   "analysis/goconv"
   "analysis/logo"
   "analysis/work"
   "context"
   "time"
   "unsafe"
   "analysis/gosdk"
   "basic.com/pubsub/protomsg.git"
   "basic.com/valib/gosdk.git"
   "github.com/gogo/protobuf/proto"
)
@@ -109,8 +109,7 @@
      select {
      case <-ctx.Done():
         return
      default:
         rMsg := <-in
      case rMsg := <-in:
         if !validRemoteMessage(rMsg, typ) {
            logo.Errorln("face track validremotemessage invalid")
            ejectResult(nil, rMsg, out)
@@ -143,7 +142,10 @@
            go e.detectTrackOneChn(ctx, e.ftrackChans[rMsg.Msg.Cid], out, typ, e.ftrackChannels[rMsg.Msg.Cid])
            e.ftrackChans[rMsg.Msg.Cid] <- rMsg
         }
      default:
         time.Sleep(100 * time.Millisecond)
      }
   }
}
@@ -156,8 +158,8 @@
   for {
      select {
      case <-ctx.Done():
         goconv.Free()
         return
      case rMsg := <-in:
         if !validRemoteMessage(rMsg, typ) {
@@ -175,12 +177,8 @@
         // conv to bgr24 and resize
         imgW, imgH := int(i.Width), int(i.Height)
         bgrData := goconv.YUV2BGR(i.Data, imgW, imgH)
         if bgrData == nil {
            ejectResult(nil, rMsg, out)
            continue
         }
         img := gosdk.SDKImage{Data: bgrData, Width: imgW, Height: imgH}
         img := gosdk.SDKImage{Data: i.Data, Width: imgW, Height: imgH}
         detect := gosdk.FaceTrackSimple(img, dtchn)