From c5a01eed95f1837e93fee27bce4da78c79f4ed10 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期二, 12 十一月 2019 17:41:43 +0800 Subject: [PATCH] update --- csrc/cffmpeg.cpp | 44 +++++++++++++++++++++++++++++++------------- 1 files changed, 31 insertions(+), 13 deletions(-) diff --git a/csrc/cffmpeg.cpp b/csrc/cffmpeg.cpp index af3d0c1..4cf92da 100644 --- a/csrc/cffmpeg.cpp +++ b/csrc/cffmpeg.cpp @@ -10,17 +10,17 @@ } #endif -#ifndef LIB_CFFMPEG -#include "csrc/all.hpp" -#endif #include "csrc/wrapper.hpp" using namespace cffmpeg_wrap; -cffmpeg c_ffmpeg_create(const int log, const char *logfile){ - bool logit = false; - if (log != 0) logit = true; - return new Wrapper(logit, logfile); +cffmpeg c_ffmpeg_create(){ + + return new Wrapper(); +} + +cffmpeg c_ffmpeg_create2(const char *logfile){ + return new Wrapper(logfile); } void c_ffmpeg_destroy(const cffmpeg h){ @@ -33,9 +33,9 @@ s->RunStream(input); } -void c_ffmpeg_scale(const cffmpeg h, const int wid, const int hei, const int flags){ +int c_ffmpeg_get_fps(const cffmpeg h){ Wrapper *s = (Wrapper*)h; - s->ScalePicture(wid, hei, flags); + return s->GetFPS(); } void c_ffmpeg_run_gb28181(const cffmpeg h){ @@ -50,11 +50,16 @@ //////passive api -void c_ffmpeg_build_recorder(const cffmpeg h, const char* id, const char *dir, int mind, int maxd, int audio){ +void c_ffmpeg_set_record_duration(const cffmpeg h, const int min, const int max){ + Wrapper *s = (Wrapper*)h; + s->SetRecMinCacheTime(min); +} + +void c_ffmpeg_build_recorder(const cffmpeg h, const char* id, const char *dir, const int64_t fid, int mind, int maxd, int audio){ Wrapper *s = (Wrapper*)h; bool a = audio == 0 ? false : true; - s->BuildRecorder(id, dir, mind, maxd, a); + s->BuildRecorder(id, dir, fid, mind, maxd, a); } void c_ffmpeg_fire_recorder(const cffmpeg h, const char* sid, const int64_t id){ @@ -90,10 +95,10 @@ s->BuildDecoder(); } -void* c_ffmpeg_get_pic_decoder(const cffmpeg h, int *wid, int *hei, int64_t *id){ +void* c_ffmpeg_get_pic_decoder(const cffmpeg h, int *wid, int *hei, int *format, int *length, int64_t *id){ Wrapper *s = (Wrapper*)h; unsigned char *data = NULL; - s->GetPicDecoder(&data, wid, hei, id); + s->GetPicDecoder(&data, wid, hei, format, length, id); return data; } @@ -121,3 +126,16 @@ int c_ffmpeg_encode(void *hdl, uint8_t *in, const int w, const int h, uint8_t **out, int *size, int *key){ return Encode(hdl, in, w, h, out, size, key); } + +void *c_ffmpeg_create_conv(const int srcW, const int srcH, const int srcFormat, + const int dstW, const int dstH, const int dstFormat, const int flag){ + return CreateConvertor(srcW, srcH, srcFormat, dstW, dstH, dstFormat, flag); +} + +void *c_ffmpeg_conv(void *h, uint8_t *in){ + return Convert(h, in); +} + +void c_ffmpeg_destroy_conv(void *h){ + DestoryConvertor(h); +} -- Gitblit v1.8.0