MediaServerIsp.hpp
1 //
2 // Created by xiong on 2020/10/27.
3 //
4 
5 #ifndef EMX_MediaServerIsp_HPP
6 #define EMX_MediaServerIsp_HPP
7 
8 #include "MediaServerBase.hpp"
9 #include "core/euv/EuvTimer.hpp"
10 #include "media/common/MediaInfIsp.hpp"
11 
12 namespace Emx {
18  public:
19  explicit MediaServerIspChn(int32_t chn) : MediaServerModuleChnBase(MediaModE::Isp, chn) {}
20 
21  ~MediaServerIspChn() override = default;
22 
23  ErrCodeE LoadParam() override;
24 
25  ErrCodeE SaveParam() override;
26 
27  void *GetParam() override { return &m_param; }
28 
29  void *GetNewParam() override { return &m_paramNew; }
30 
31  void *GetRunningParam() override { return &m_paramRunning; }
32 
33  int GetParamSize() override { return sizeof(Param); }
34 
35  ErrCodeE GetParamDefaultData(std::string &data) override;
36 
37  bool ParamValid() override;
38 
39  ErrCodeE OnRecvReqChn(uint32_t method, const char *data, int32_t size, std::string &out) override;
40 
42 
43  void OnServerDestroy() override;
44 
45  ErrCodeE GetIspInfo(Info &info) override;
46 
47  protected:
53  virtual ErrCodeE Collection(Info &info) = 0;
54 
55  private:
56  EuvTimer m_timer;
57  int m_infoInvMs;
58 
59  protected:
63  };
64 
66  public:
68  };
70 }// namespace Emx
71 
72 #endif//EMX_MediaServerIsp_HPP
基于EuvLoop的定时器,很有用的一个东西
Definition: EuvTimer.hpp:16
Definition: MediaInfIsp.hpp:15
Definition: MediaServerIsp.hpp:17
int GetParamSize() override
Definition: MediaServerIsp.hpp:33
ErrCodeE OnServerCreate() override
void * GetParam() override
Definition: MediaServerIsp.hpp:27
Param m_paramRunning
Definition: MediaServerIsp.hpp:62
MediaServerIspChn(int32_t chn)
Definition: MediaServerIsp.hpp:19
ErrCodeE LoadParam() override
void * GetNewParam() override
Definition: MediaServerIsp.hpp:29
ErrCodeE SaveParam() override
Param m_param
Definition: MediaServerIsp.hpp:60
void OnServerDestroy() override
ErrCodeE GetIspInfo(Info &info) override
bool ParamValid() override
void * GetRunningParam() override
Definition: MediaServerIsp.hpp:31
virtual ErrCodeE Collection(Info &info)=0
定时触发收集isp信息
ErrCodeE GetParamDefaultData(std::string &data) override
~MediaServerIspChn() override=default
ErrCodeE OnRecvReqChn(uint32_t method, const char *data, int32_t size, std::string &out) override
Param m_paramNew
Definition: MediaServerIsp.hpp:61
Definition: MediaServerIsp.hpp:65
MediaServerIsp()
Definition: MediaServerIsp.hpp:67
媒体模块的通用基类
Definition: MediaServerBase.hpp:104
Definition: MediaServerBase.hpp:18
MediaModE
Definition: MediaTypedef.hpp:60
ErrCodeE
错误码定义
Definition: EmxTypeDef.hpp:29
Definition: EmxGpio.hpp:10
ISP信息
Definition: MediaInfIsp.hpp:74
ISP持久化参数
Definition: MediaInfIsp.hpp:51