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