video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-07-26 e84510254860e916cbb48ec3de4557b14a99d76c
libcffmpeg.c
@@ -25,6 +25,10 @@
        release_if_err(fn_run, lib);
        fn_scale = (lib_cffmpeg_scale)dlsym(lib, "c_ffmpeg_scale");
        release_if_err(fn_scale, lib);
        fn_gb28181 = (lib_cffmpeg_gb28181)dlsym(lib, "c_ffmpeg_run_gb28181");
        release_if_err(fn_gb28181, lib);
        fn_cpu = (lib_cffmpeg_cpu)dlsym(lib, "c_ffmepg_use_cpu");
        release_if_err(fn_cpu, lib);
        fn_recorder = (lib_cffmpeg_recorder)dlsym(lib, "c_ffmpeg_build_recorder");
        release_if_err(fn_recorder, lib);
        fn_fire_recorder = (lib_cffmpeg_fire_recorder)dlsym(lib, "c_ffmpeg_fire_recorder");
@@ -35,6 +39,8 @@
        release_if_err(fn_decoder, lib);
        fn_decoder_pic = (lib_cffmpeg_pic)dlsym(lib, "c_ffmpeg_get_pic_decoder");
        release_if_err(fn_decoder_pic, lib);
        fn_get_avpacket = (lib_cffmpeg_avpacket)dlsym(lib, "c_ffmpeg_get_avpacket");
        release_if_err(fn_get_avpacket, lib);
        fn_active_recorder = (lib_cffmpeg_active_recorder)dlsym(lib, "c_ffmpeg_active_recorder");
        release_if_err(fn_active_recorder, lib);
        fn_active_decoder = (lib_cffmpeg_active_decoder)dlsym(lib, "c_ffmpeg_active_decoder");
@@ -77,6 +83,14 @@
    fn_scale(h, wid, hei, flags);
}
void wrap_fn_run_gb28181(const cffmpeg h){
    fn_gb28181(h);
}
void wrap_fn_use_cpu(const cffmpeg h){
    fn_cpu(h);
}
void wrap_fn_recorder(const cffmpeg h, const char* dir, int mind, int maxd){
    fn_recorder(h, dir, mind, maxd);
}
@@ -97,6 +111,10 @@
    return fn_decoder_pic(h, wid, hei);
}
void* wrap_fn_get_avpacket(const cffmpeg h, int* size, int* key){
    return fn_get_avpacket(h, size, key);
}
void wrap_fn_active_recorder(const cffmpeg h, const char* dir, int mind, int maxd, rec_func fn){
    fn_active_recorder(h, dir, mind, maxd, fn);
}