From e6725cb3cf4ced3a6985d4d3db4d5cf1336a30d8 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 19 七月 2019 16:53:35 +0800
Subject: [PATCH] merge so

---
 goffmpeg.go |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/goffmpeg.go b/goffmpeg.go
index 33869c0..b8739f8 100644
--- a/goffmpeg.go
+++ b/goffmpeg.go
@@ -59,24 +59,36 @@
 	}
 }
 
+// Config config
+type Config struct {
+	Scale  int
+	Width  int
+	Height int
+	GB     bool
+	CPU    bool
+}
+
 // GoFFMPEG handle for c
 type GoFFMPEG struct {
 	ffmpeg C.cffmpeg
 }
 
-// New create handle
-func New() *GoFFMPEG {
-	return &GoFFMPEG{
-		ffmpeg: C.wrap_fn_create(),
-	}
-}
-
-// NewWithScale scale out pic
-func NewWithScale(w, h int, flag int) *GoFFMPEG {
+// New 2nd new
+func New(conf Config) *GoFFMPEG {
 	f := C.wrap_fn_create()
-	if f != nil {
-		C.wrap_fn_scale(f, C.int(w), C.int(h), C.int(flag))
+	if f == nil {
+		return nil
 	}
+	if conf.Scale != 0 && conf.Width != 0 && conf.Height != 0 {
+		C.wrap_fn_scale(f, C.int(conf.Width), C.int(conf.Height), C.int(conf.Scale))
+	}
+	if conf.GB {
+		C.wrap_fn_run_gb28181(f)
+	}
+	if conf.CPU {
+		C.wrap_fn_use_cpu(f)
+	}
+
 	return &GoFFMPEG{
 		ffmpeg: f,
 	}

--
Gitblit v1.8.0