#ifndef _goffmpeg_c_wrapper_cffmpeg_h_ #define _goffmpeg_c_wrapper_cffmpeg_h_ #include #ifdef __cplusplus extern "C"{ #endif typedef void* cffmpeg; cffmpeg c_ffmpeg_create(); cffmpeg c_ffmpeg_create2(const char *logfile); void c_ffmpeg_destroy(const cffmpeg h); void c_ffmpeg_run(const cffmpeg h, const char *input); int c_ffmpeg_get_fps(const cffmpeg h); void c_ffmpeg_run_gb28181(const cffmpeg h); char * c_ffmpeg_get_gb28181_pic(const char *rtspUrl, int *retDataLen); void c_ffmepg_use_cpu(const cffmpeg h); /////////passive api void c_ffmpeg_open_recorder(const cffmpeg h); void c_ffmpeg_set_record_duration(const cffmpeg h, const int min, const int max); void c_ffmpeg_build_recorder(const cffmpeg h, const char*id, const char *dir, const int64_t fid, int mind, int maxd, int audio); int c_ffmpeg_fire_recorder(const cffmpeg h, const char*sid, const int64_t id); int c_ffmpeg_get_info_recorder(const cffmpeg h, int *index, char** recid, int *recidLen, char **fpath, int *pathLen); void c_ffmpeg_build_decoder(const cffmpeg h); int c_ffmpeg_get_pic_decoder(const cffmpeg h, unsigned char **data, int *wid, int *hei, int *format, int *length, int64_t *id); void c_ffmpeg_close_stream(const cffmpeg h); void* c_ffmpeg_get_avpacket(const cffmpeg h, int *size, int *key); int c_ffmpeg_get_avpacket2(const cffmpeg h, unsigned char **data, int *size, int *key); int c_ffmpeg_set_devid(const cffmpeg h, const int devid); void c_ffmpeg_release_buf(void* buf); // pic encoder void *c_ffmpeg_create_encoder(const int w, const int h, const int fps, const int br, const int pix_fmt, const int scale_flag, const int gi); void c_ffmpeg_destroy_encoder(void *h); int c_ffmpeg_encode(void *hdl, uint8_t *in, const int w, const int h, uint8_t **out, int *size, int *key); #ifdef __cplusplus } #endif #endif