From 9b21b25d1e891e2cda1d5b7ef6beb09fc308f6c5 Mon Sep 17 00:00:00 2001
From: cheliequan <liequanche@126.com>
Date: 星期二, 07 二月 2023 17:50:19 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/valib/c_shm

---
 shmparser/shmparser.go |    5 +----
 main.go                |    9 +++++++--
 shmparser/shmparser.c  |   10 +++++++---
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/main.go b/main.go
index 73fa91e..4751fa1 100644
--- a/main.go
+++ b/main.go
@@ -5,6 +5,7 @@
 	"fmt"
 	"io/ioutil"
 	"os"
+	"strings"
 	"time"
 )
 
@@ -51,9 +52,10 @@
 			if i < 2 {
 				w, h = 720, 576
 			}
+			timestamp := strings.Replace(time.Now().Format("2006-01-02 15:04:05.000"), ".", ":", -1)
 
 			d := readFile(f)
-			shmparser.Image2Shm(shm, "cameraid", "cameraname", d, w, h, 1122331122)
+			shmparser.Image2Shm(shm, "cameraid", "cameraname", timestamp, d, w, h, 1122331122)
 			printImage(shm, fmt.Sprintf("./npic/%dx%d.%d", w, h, i))
 		}
 	} else {
@@ -62,8 +64,11 @@
 			if i < 2 {
 				w, h = 720, 576
 			}
+
+			timestamp := strings.Replace(time.Now().Format("2006-01-02 15:04:05.000"), ".", ":", -1)
+
 			d := readFile(files[i])
-			shmparser.Image2Shm(shm, "cameraid", "cameraname", d, w, h, 1122331122)
+			shmparser.Image2Shm(shm, "cameraid", "cameraname", timestamp, d, w, h, 1122331122)
 			printImage(shm, fmt.Sprintf("./npic/%dx%d.%d", w, h, i))
 		}
 	}
diff --git a/shmparser/shmparser.c b/shmparser/shmparser.c
index 49aceb7..528744d 100644
--- a/shmparser/shmparser.c
+++ b/shmparser/shmparser.c
@@ -474,8 +474,10 @@
     // targets count
     tmp = put_number(tmp, RULE_SDK_TGT_COUNT, res->count);
     cursize += tmp - old;
+
     // targets
-    tmp = put_targets(tmp, res, &cursize);
+    if (res->count > 0)
+        tmp = put_targets(tmp, res, &cursize);
 
     // 鏈�鍚庝慨鏀� psdksize 鍐呭
     Put64(pheader, cursize);
@@ -529,8 +531,10 @@
         tmp = get_string(tmp, &cmd, &sdk.timestamp, &sdk.timestamp_size);
         tmp = get_number(tmp, &cmd, &sdk.tgt_count);
 
-        sdk.tgt = (struct sttgt*)calloc(sdk.tgt_count, sizeof(struct sttgt));
-        tmp = get_targets(tmp, sdk.tgt, sdk.tgt_count);
+        if (sdk.tgt_count > 0){
+            sdk.tgt = (struct sttgt*)calloc(sdk.tgt_count, sizeof(struct sttgt));
+            tmp = get_targets(tmp, sdk.tgt, sdk.tgt_count);
+        }
 
         sdkarray[i] = sdk;
     }
diff --git a/shmparser/shmparser.go b/shmparser/shmparser.go
index d814eed..1c57973 100644
--- a/shmparser/shmparser.go
+++ b/shmparser/shmparser.go
@@ -7,8 +7,6 @@
 */
 import "C"
 import (
-	"strings"
-	"time"
 	"unsafe"
 )
 
@@ -23,8 +21,7 @@
 }
 
 // Image2Shm fill image to shm
-func Image2Shm(shm []byte, cid, cname string, data []byte, w, h int, fid int64) {
-	timestamp := strings.Replace(time.Now().Format("2006-01-02 15:04:05.000"), ".", ":", -1)
+func Image2Shm(shm []byte, cid, cname, timestamp string, data []byte, w, h int, fid int64) {
 
 	dataptr := (*C.uchar)(unsafe.Pointer(&data[0]))
 	cidbyte := str2byte(cid)

--
Gitblit v1.8.0