From fa4143c32e3b85b8b50b6e1c72becfa79bd70bbc Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 25 五月 2021 11:16:14 +0800
Subject: [PATCH] bug fixed break

---
 capture.go |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/capture.go b/capture.go
index 7d28756..88f2b59 100644
--- a/capture.go
+++ b/capture.go
@@ -38,12 +38,41 @@
 	InvalidFileExt PicExt = PicExt("")
 )
 
+// capture pic
+func captureGB28181(soFile string, url string, maxTry int) ([]byte, error) {
+
+	var ret []byte
+	var err error
+
+	err = goffmpeg.InitFFmpeg(soFile)
+	if err != nil {
+		return nil, err
+	}
+
+	reterr := errors.New(fmt.Sprintf("gb28181 try %d times to capture image, is url correct?", maxTry))
+	// for i := 0; i < maxTry; i++ {
+	ret = goffmpeg.GetGBJpg(url, maxTry)
+	if len(ret) > 0 {
+		reterr = nil
+		// break
+	}
+	// }
+
+	goffmpeg.FreeFFmpeg()
+
+	return ret, reterr
+}
+
 // Capture pic
 func Capture(soFile string, m StreamMode, url string, ext PicExt, w, h, maxTry int) ([]byte, error) {
 	if m != GB28181 && m != Rtsp {
 		return nil, errors.New("there is no this mode, try capture.Rtsp/capture.GB28181")
 	}
 
+	if m == GB28181 {
+		return captureGB28181(soFile, url, maxTry)
+	}
+
 	if ext == InvalidFileExt {
 		ext = JPEGFileExt
 	}

--
Gitblit v1.8.0