MediaFactory.hpp
1
//
2
// Created by xiong on 2020/10/30.
3
//
4
5
#ifndef EMX_MediaFactory_HPP
6
#define EMX_MediaFactory_HPP
7
8
#include "media/common/MediaTypedef.hpp"
9
10
namespace
Emx
{
14
class
MediaServer;
15
16
class
MediaServerModuleChnBase;
17
18
class
MediaFactory
{
19
public
:
20
static
MediaFactory
*
GetMediaFactory
();
21
22
static
void
PrintMediaServerInfo
();
23
24
virtual
ErrCodeE
SwitchScene
(
const
char
*curScene,
const
char
*newScene);
25
26
virtual
MediaServer
*
MakeServer
();
27
28
MediaServerModuleChnBase
*
MakeModuleChn
(
MediaModE
mod, int32_t chn) {
29
switch
(mod) {
30
case
MediaModE::System
:
31
return
MakeSystemChn
(chn);
32
case
MediaModE::Isp
:
33
return
MakeIspChn
(chn);
34
case
MediaModE::Venc
:
35
return
MakeVencChn
(chn);
36
case
MediaModE::Aenc
:
37
return
MakeAencChn
(chn);
38
case
MediaModE::Adec
:
39
return
MakeAdecChn
(chn);
40
case
MediaModE::Snap
:
41
return
MakeSnapChn
(chn);
42
case
MediaModE::QrScan
:
43
return
MakeQrScanChn
(chn);
44
case
MediaModE::Osd
:
45
return
MakeOsdChn
(chn);
46
// case MediaModE::Ai:
47
// return MakeAiChn(chn);
48
case
MediaModE::Vi
:
49
return
MakeViChn
(chn);
50
case
MediaModE::Vdec
:
51
return
MakeVdecChn
(chn);
52
case
MediaModE::Vo
:
53
return
MakeVoChn
(chn);
54
case
MediaModE::Draw
:
55
return
MakeDrawChn
(chn);
56
case
MediaModE::Aov
:
57
return
MakeAovChn
(chn);
58
default
:
59
return
nullptr
;
60
}
61
}
62
63
virtual
MediaServerModuleChnBase
*
MakeSystemChn
(int32_t chn) = 0;
64
65
virtual
MediaServerModuleChnBase
*
MakeIspChn
(int32_t chn) = 0;
66
67
virtual
MediaServerModuleChnBase
*
MakeVencChn
(int32_t chn) = 0;
68
69
virtual
MediaServerModuleChnBase
*
MakeAencChn
(int32_t chn) = 0;
70
71
virtual
MediaServerModuleChnBase
*
MakeAdecChn
(int32_t chn) = 0;
72
73
virtual
MediaServerModuleChnBase
*
MakeSnapChn
(int32_t chn) = 0;
74
75
virtual
MediaServerModuleChnBase
*
MakeQrScanChn
(int32_t chn) = 0;
76
77
virtual
MediaServerModuleChnBase
*
MakeOsdChn
(int32_t chn) = 0;
78
79
// MediaServerModuleChnBase *MakeAiChn(int32_t chn);
80
81
virtual
MediaServerModuleChnBase
*
MakeViChn
(int32_t chn) = 0;
82
83
virtual
MediaServerModuleChnBase
*
MakeVdecChn
(int32_t chn) = 0;
84
85
virtual
MediaServerModuleChnBase
*
MakeVoChn
(int32_t chn) = 0;
86
87
virtual
MediaServerModuleChnBase
*
MakeDrawChn
(int32_t chn) = 0;
88
89
virtual
MediaServerModuleChnBase
*
MakeAovChn
(int32_t chn);
90
};
92
}
// namespace Emx
93
94
95
#endif
//EMX_MediaFactory_HPP
Emx::MediaFactory
Definition:
MediaFactory.hpp:18
Emx::MediaFactory::PrintMediaServerInfo
static void PrintMediaServerInfo()
Emx::MediaFactory::MakeModuleChn
MediaServerModuleChnBase * MakeModuleChn(MediaModE mod, int32_t chn)
Definition:
MediaFactory.hpp:28
Emx::MediaFactory::MakeIspChn
virtual MediaServerModuleChnBase * MakeIspChn(int32_t chn)=0
Emx::MediaFactory::SwitchScene
virtual ErrCodeE SwitchScene(const char *curScene, const char *newScene)
Emx::MediaFactory::MakeViChn
virtual MediaServerModuleChnBase * MakeViChn(int32_t chn)=0
Emx::MediaFactory::MakeAdecChn
virtual MediaServerModuleChnBase * MakeAdecChn(int32_t chn)=0
Emx::MediaFactory::MakeVencChn
virtual MediaServerModuleChnBase * MakeVencChn(int32_t chn)=0
Emx::MediaFactory::MakeSystemChn
virtual MediaServerModuleChnBase * MakeSystemChn(int32_t chn)=0
Emx::MediaFactory::MakeVdecChn
virtual MediaServerModuleChnBase * MakeVdecChn(int32_t chn)=0
Emx::MediaFactory::GetMediaFactory
static MediaFactory * GetMediaFactory()
Emx::MediaFactory::MakeVoChn
virtual MediaServerModuleChnBase * MakeVoChn(int32_t chn)=0
Emx::MediaFactory::MakeSnapChn
virtual MediaServerModuleChnBase * MakeSnapChn(int32_t chn)=0
Emx::MediaFactory::MakeQrScanChn
virtual MediaServerModuleChnBase * MakeQrScanChn(int32_t chn)=0
Emx::MediaFactory::MakeAencChn
virtual MediaServerModuleChnBase * MakeAencChn(int32_t chn)=0
Emx::MediaFactory::MakeDrawChn
virtual MediaServerModuleChnBase * MakeDrawChn(int32_t chn)=0
Emx::MediaFactory::MakeServer
virtual MediaServer * MakeServer()
Emx::MediaFactory::MakeAovChn
virtual MediaServerModuleChnBase * MakeAovChn(int32_t chn)
Emx::MediaFactory::MakeOsdChn
virtual MediaServerModuleChnBase * MakeOsdChn(int32_t chn)=0
Emx::MediaServerModuleChnBase
Definition:
MediaServerBase.hpp:18
Emx::MediaServer
Definition:
MediaServer.hpp:19
Emx::MediaModE
MediaModE
Definition:
MediaTypedef.hpp:60
Emx::MediaModE::Aenc
@ Aenc
Emx::MediaModE::Isp
@ Isp
Emx::MediaModE::Vdec
@ Vdec
Emx::MediaModE::Draw
@ Draw
Emx::MediaModE::Osd
@ Osd
Emx::MediaModE::Snap
@ Snap
Emx::MediaModE::System
@ System
Emx::MediaModE::QrScan
@ QrScan
Emx::MediaModE::Adec
@ Adec
Emx::MediaModE::Vo
@ Vo
Emx::MediaModE::Aov
@ Aov
Emx::MediaModE::Venc
@ Venc
Emx::MediaModE::Vi
@ Vi
Emx::ErrCodeE
ErrCodeE
错误码定义
Definition:
EmxTypeDef.hpp:29
Emx
Definition:
EmxGpio.hpp:10