| | |
| | | } |
| | | } |
| | | |
| | | // 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, |
| | | } |