MediaServerVo.hpp
1 //
2 // Created by tfh on 2024/01/06.
3 //
4 
5 #ifndef EMX_MediaServerVo_HPP
6 #define EMX_MediaServerVo_HPP
7 
8 #include "EmxCore.hpp"
9 #include "MediaServerBase.hpp"
10 #include "media/common/MediaInfVo.hpp"
11 
12 namespace Emx {
18  public:
19  explicit MediaServerVoChn(int32_t chn) : MediaServerModuleChnBase(MediaModE::Vo, chn) {}
20 
21  ~MediaServerVoChn() 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  ErrCodeE OnRecvReqChn(uint32_t method, const char *data, int32_t size, std::string &out) override;
38 
39  protected:
43  virtual void StartLoopViSendVo();
44 
48  virtual void StopLoopViSendVo();
49 
54  virtual ErrCodeE runOneViSendVo() = 0;
55 
56  private:
57  virtual void OnViSendVo(void *arg);
58 
59  virtual void OnViSendVoComplete(ErrCodeE e, void *arg);
60 
61  protected:
65 
66  private:
67  EuvWork m_work;
68  };
69 
71  public:
73  };
75 }// namespace Emx
76 
77 #endif//EMX_MediaServerVo_HPP
提供在EuvLoop内调用线程池执行阻塞耗时任务的机制
Definition: EuvWork.hpp:18
Definition: MediaInfVo.hpp:15
媒体模块的通用基类
Definition: MediaServerBase.hpp:104
Definition: MediaServerBase.hpp:18
Definition: MediaServerVo.hpp:17
void * GetParam() override
Definition: MediaServerVo.hpp:27
virtual ErrCodeE runOneViSendVo()=0
将vi视频发送到vo
virtual void StopLoopViSendVo()
停止将vi视频发送到vo
~MediaServerVoChn() override=default
ErrCodeE GetParamDefaultData(std::string &data) override
void * GetNewParam() override
Definition: MediaServerVo.hpp:29
MediaServerVoChn(int32_t chn)
Definition: MediaServerVo.hpp:19
int GetParamSize() override
Definition: MediaServerVo.hpp:33
void * GetRunningParam() override
Definition: MediaServerVo.hpp:31
ErrCodeE OnRecvReqChn(uint32_t method, const char *data, int32_t size, std::string &out) override
ErrCodeE LoadParam() override
Param m_param
Definition: MediaServerVo.hpp:62
ErrCodeE SaveParam() override
Param m_paramRunning
Definition: MediaServerVo.hpp:64
Param m_paramNew
Definition: MediaServerVo.hpp:63
virtual void StartLoopViSendVo()
开始将vi视频发送到vo
Definition: MediaServerVo.hpp:70
MediaServerVo()
Definition: MediaServerVo.hpp:72
MediaModE
Definition: MediaTypedef.hpp:60
ErrCodeE
错误码定义
Definition: EmxTypeDef.hpp:29
Definition: EmxGpio.hpp:10
视频输出持久化参数
Definition: MediaInfVo.hpp:18