| | |
| | | } |
| | | |
| | | // GetGBJpg Get GB28181 Jpg |
| | | func GetGBJpg(rtspURL string, maxTry int) []byte { |
| | | func GetGBJpg(rtspURL string, maxTry int) ([]byte, int) { |
| | | rtsp := C.CString(rtspURL) |
| | | defer C.free(unsafe.Pointer(rtsp)) |
| | | var jpgLen C.int |
| | | |
| | | pic := C.wrap_fn_get_gb28181_pic(unsafe.Pointer(libcffmpeg), rtsp, &jpgLen, C.int(maxTry)) |
| | | defer C.free(unsafe.Pointer(pic)) |
| | | var pic unsafe.Pointer |
| | | ret := C.wrap_fn_get_gb28181_pic(unsafe.Pointer(libcffmpeg), rtsp, &pic, &jpgLen, C.int(maxTry)) |
| | | if ret <= 0 { |
| | | return nil, int(ret) |
| | | } |
| | | defer C.free(pic) |
| | | |
| | | retJpg := C.GoBytes(unsafe.Pointer(pic), jpgLen) |
| | | return retJpg |
| | | return retJpg, int(ret) |
| | | } |