| | |
| | | unsigned char *data; |
| | | int w; |
| | | int h; |
| | | |
| | | int64_t id; |
| | | }pic_bgr24; |
| | | |
| | | namespace buz{ |
| | |
| | | std::shared_ptr<buz::Recorder> init_recorder(ffwrapper::FormatIn *in, std::string id,std::string dir, const int mind, const int maxd); |
| | | |
| | | void cache_rec_info(std::string &id, int &index, std::string &path); |
| | | void cache_pic(std::shared_ptr<ffwrapper::FrameData> &frame); |
| | | void cache_pic(std::shared_ptr<ffwrapper::FrameData> &frame, int64_t &id); |
| | | |
| | | void cacheAVPacket(const AVPacket &pkt); |
| | | public: |
| | |
| | | int FireRecorder(const char* sid,const int64_t &id); |
| | | void GetInfoRecorder(int &index, std::string &path); |
| | | std::string GetRecorderID(const std::string &path); |
| | | // active api |
| | | void ActiveRecorder(const char *dir, const int mind, const int maxd, |
| | | FUNC_REC func); |
| | | |
| | | void ScalePicture(const int w, const int h, const int flags); |
| | | void UseGB28181(); |
| | | void UseCPU(); |
| | | public: //decoder |
| | | void BuildDecoder(); |
| | | void GetPicDecoder(unsigned char **data, int *w, int *h); |
| | | void GetPicDecoder(unsigned char **data, int *w, int *h, int64_t *id); |
| | | void GetPacket(unsigned char **pktData, int *size, int *key); |
| | | //active api |
| | | void ActiveDecoder(FUNC_DEC fn); |
| | | |
| | | private: |
| | | |
| | |
| | | struct record_file_info{ |
| | | int file_frame_index; |
| | | std::string file_path; |
| | | std::string rec_id; |
| | | }; |
| | | std::list<struct record_file_info> list_rec_; |
| | | std::unordered_map<std::string, std::string> list_rec_map_; |
| | |
| | | std::list<AVPacket> list_avpkt_; |
| | | std::mutex mutex_avpkt_; |
| | | |
| | | // active api |
| | | FUNC_REC func_rec_; |
| | | FUNC_DEC func_dec_; |
| | | |
| | | int scale_w_, scale_h_, scale_f_; |
| | | int gb_, cpu_; |
| | | |
| | | typedef struct recpkt{ |
| | | std::shared_ptr<ffwrapper::CodedData> data; |
| | | int64_t id; |
| | | }recpkt; |
| | | std::list<recpkt> list_rec_pkt_; |
| | | std::mutex mtx_rec_pkt_; |
| | | int cache_rec_pkt(const buz::avpacket &pkt); |
| | | void maybe_dump_rec_pkt(); |
| | | int maxduration; |
| | | int minduration; |
| | | |
| | | //////////////////test frame to bgr24 |
| | | public: |
| | | uint8_t *decodeJPEG(const char *file, int *w, int *h); |