From be9c1d1f659b0ff31f656424c478e83a4f7c53b5 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期五, 20 九月 2019 11:44:19 +0800 Subject: [PATCH] update ffmpeg --- goffmpeg.go | 37 +++++++++++++++---------------------- 1 files changed, 15 insertions(+), 22 deletions(-) diff --git a/goffmpeg.go b/goffmpeg.go index d79d0ba..bf2df6c 100644 --- a/goffmpeg.go +++ b/goffmpeg.go @@ -108,13 +108,13 @@ } // DecodeJPEG decode jpeg file -func (h *GoFFMPEG) DecodeJPEG(input string) ([]byte, int, int) { +func DecodeJPEG(input string) ([]byte, int, int) { in := C.CString(input) defer C.free(unsafe.Pointer(in)) var width C.int var height C.int - p := C.wrap_fn_decode_jpeg(h.ffmpeg, in, &width, &height) + p := C.wrap_fn_decode_jpeg(in, &width, &height) defer C.free(p) if width > 0 && height > 0 { @@ -134,44 +134,37 @@ } // BuildRecorder build recorder -func (h *GoFFMPEG) BuildRecorder(sid, output string, mind, maxd int) { +func (h *GoFFMPEG) BuildRecorder(sid, output string, mind, maxd, audio int) { out := C.CString(output) defer C.free(unsafe.Pointer(out)) csid := C.CString(sid) defer C.free(unsafe.Pointer(csid)) - C.wrap_fn_recorder(h.ffmpeg, csid, out, C.int(mind), C.int(maxd)) + C.wrap_fn_recorder(h.ffmpeg, csid, out, C.int(mind), C.int(maxd), C.int(audio)) } // GetInfoRecorder info -func (h *GoFFMPEG) GetInfoRecorder() (int, string) { +func (h *GoFFMPEG) GetInfoRecorder() (string, int, string) { var i C.int = -1 - var l C.int - p := C.wrap_fn_info_recorder(h.ffmpeg, &i, &l) + var id *C.char + var idl C.int + + var p *C.char + var pl C.int + + C.wrap_fn_info_recorder(h.ffmpeg, &i, &id, &idl, &p, &pl) // if p == nil { // return -1, "" // } + gID := C.GoString(id) + C.free(unsafe.Pointer(id)) path := C.GoString(p) C.free(unsafe.Pointer(p)) // fmt.Println("Go get info : ", path, " len: ", l) - return int(i), path -} - -// GetRecID get rec id -func (h *GoFFMPEG) GetRecID(p string) string { - pt := C.CString(p) - defer C.free(unsafe.Pointer(pt)) - var i C.int - - cid := C.wrap_fn_rec_id(h.ffmpeg, pt, &i) - - id := C.GoString(cid) - C.free(unsafe.Pointer(cid)) - - return id + return gID, int(i), path } // BuildDecoder build decoder -- Gitblit v1.8.0