| | |
| | | } |
| | | |
| | | // GetInfoRecorder info |
| | | func (h *GoFFMPEG) GetInfoRecorder(index *int, path *string) { |
| | | func (h *GoFFMPEG) GetInfoRecorder() (int, string) { |
| | | var i C.int = -1 |
| | | var l C.int |
| | | |
| | | p := C.wrap_fn_info_recorder(h.ffmpeg, &i, &l) |
| | | if i == -1 { |
| | | return |
| | | return -1, "" |
| | | } |
| | | defer C.free(unsafe.Pointer(p)) |
| | | |
| | | *index = int(i) |
| | | *path = C.GoString(p) |
| | | return int(i), C.GoString(p) |
| | | } |
| | | |
| | | // BuildDecoder build decoder |
| | |
| | | } |
| | | |
| | | // GetPicDecoder get pic from decoder |
| | | func (h *GoFFMPEG) GetPicDecoder(data *[]byte, wid, hei *int) { |
| | | func (h *GoFFMPEG) GetPicDecoder() ([]byte, int, int) { |
| | | var width C.int |
| | | var height C.int |
| | | |
| | | p := C.wrap_fn_decoder_pic(h.ffmpeg, &width, &height) |
| | | if width == 0 && height == 0 { |
| | | return |
| | | return nil, 0, 0 |
| | | } |
| | | defer C.free(unsafe.Pointer(p)) |
| | | *data = C.GoBytes(p, width*height*3) |
| | | *wid = int(width) |
| | | *hei = int(height) |
| | | d := C.GoBytes(p, width*height*3) |
| | | wid := int(width) |
| | | hei := int(height) |
| | | |
| | | return d, wid, hei |
| | | } |