From 4ed75d3bacf3dcf91889fb693b179557eb7b7509 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期一, 06 五月 2019 10:21:24 +0800
Subject: [PATCH] decoder ipc

---
 decoder/go.sum                  |    2 +
 decoder/main.go                 |   57 ++++++++++++++++------------
 decoder/go.mod                  |    5 ++
 decoder/valib/ipc               |    2 
 decoder/work/service/decoder.go |    2 
 5 files changed, 41 insertions(+), 27 deletions(-)

diff --git a/decoder/go.mod b/decoder/go.mod
index 62603f0..09db5b7 100644
--- a/decoder/go.mod
+++ b/decoder/go.mod
@@ -2,4 +2,7 @@
 
 go 1.12
 
-require nanomsg.org/go-mangos v1.4.0
+require (
+	github.com/golang/snappy v0.0.1
+	nanomsg.org/go-mangos v1.4.0
+)
diff --git a/decoder/go.sum b/decoder/go.sum
index 7d77097..1ba91ec 100644
--- a/decoder/go.sum
+++ b/decoder/go.sum
@@ -1,2 +1,4 @@
+github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
+github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 nanomsg.org/go-mangos v1.4.0 h1:pVRLnzXePdSbhWlWdSncYszTagERhMG5zK/vXYmbEdM=
 nanomsg.org/go-mangos v1.4.0/go.mod h1:MOor8xUIgwsRMPpLr9xQxe7bT7rciibScOqVyztNxHQ=
diff --git a/decoder/main.go b/decoder/main.go
index c6e75b8..fa513b3 100644
--- a/decoder/main.go
+++ b/decoder/main.go
@@ -7,6 +7,8 @@
 	"encoding/json"
 	"flag"
 	"fmt"
+	"strconv"
+	"strings"
 	// "videoServer/demo"
 )
 
@@ -16,6 +18,8 @@
 
 	ipcURL string
 	proc   string
+
+	testIt bool
 )
 
 func init() {
@@ -23,6 +27,8 @@
 	flag.StringVar(&picFolder, "f", ".", "test pic folder")
 
 	flag.StringVar(&ipcURL, "ipc", "ipc:///tmp/pic.ipc", "ipc label")
+
+	flag.BoolVar(&testIt, "test", false, "use test")
 }
 
 // CameraInfo camera info
@@ -67,33 +73,36 @@
 func main() {
 	flag.Parse()
 
-	test()
+	if testIt {
+		test()
+	}
 
-	// ctx, cancel := context.WithCancel(context.Background())
+	ctx, cancel := context.WithCancel(context.Background())
 
-	// ch := make(chan CameraInfo)
-	// go recvFromIPC(ctx, "tcp://192.168.1.124:7000", ch)
+	ch := make(chan CameraInfo)
+	go recvFromIPC(ctx, "tcp://192.168.1.124:7000", ch)
 
-	// for {
-	// 	select {
-	// 	case <-ctx.Done():
-	// 		return
-	// 	case c := <-ch:
-	// 		if _, ok := mapCI[c.ID]; !ok {
-	// 			mapCI[c.ID] = c
-	// 			ipc := "tcp://192.168.1.124:" + strconv.Itoa(port)
-	// 			port++
-	// 			fmt.Printf("create ipc %s for decode : %s, on camera id %s\n", ipc, c.URL, c.ID)
+	// demo.SendByIPC("rtsp://admin:a1234567@192.168.1.188:554/h264/ch1/main/av_stream", "cid0",
+	// 	"tcp://192.168.1.140:7000", false)
+	for {
+		select {
+		case <-ctx.Done():
+			return
+		case c := <-ch:
+			if _, ok := mapCI[c.ID]; !ok {
+				mapCI[c.ID] = c
+				ipc := "tcp://192.168.1.124:" + strconv.Itoa(port)
+				port++
+				fmt.Printf("create ipc %s for decode : %s, on camera id %s\n", ipc, c.URL, c.ID)
 
-	// 			url := strings.TrimSpace(c.URL)
-	// 			id := strings.TrimSpace(c.ID)
-	// 			i := strings.TrimSpace(ipc)
-	// 			go demo.SendByIPC(url, id, i)
-	// 		}
-	// 	}
-	// }
-	// cancel()
-
+				url := strings.TrimSpace(c.URL)
+				id := strings.TrimSpace(c.ID)
+				i := strings.TrimSpace(ipc)
+				go demo.SendByIPC(url, id, i, false)
+			}
+		}
+	}
+	cancel()
 }
 
 func test() {
@@ -101,5 +110,5 @@
 
 	fmt.Println(picFolder)
 
-	demo.SendByIPC(streamURL, "camera1", ipcURL, true)
+	demo.SendByIPC(streamURL, "camera1", ipcURL, false)
 }
diff --git a/decoder/valib/ipc b/decoder/valib/ipc
index 8841f9d..f28fa12 160000
--- a/decoder/valib/ipc
+++ b/decoder/valib/ipc
@@ -1 +1 @@
-Subproject commit 8841f9d2154a8e0653d30fdc04bde8a772665c8c
+Subproject commit f28fa12daea7e9522e407df355823b3b9fba7ac9
diff --git a/decoder/work/service/decoder.go b/decoder/work/service/decoder.go
index c6f6aeb..c284325 100644
--- a/decoder/work/service/decoder.go
+++ b/decoder/work/service/decoder.go
@@ -72,8 +72,8 @@
 
 	go dec.serializeImageInfo(imageChan, dataChan)
 
+	// str := "hello"
 	gf.ActiveDecoder(func(d *[]byte, w, h *int) {
-		fmt.Println("get a pic")
 		if *w > 0 && *h > 0 {
 			i := ImageInfo{*d, *w, *h, dec.cameraID}
 			imageChan <- i

--
Gitblit v1.8.0