1 #ifndef AVD_Module_Exporter_H__
2 #define AVD_Module_Exporter_H__
15 virtual Result setScaleType(IVideoRenderView::ScalingType scale) = 0;
17 virtual Result setAutoLayout(
bool useAuto) = 0;
19 virtual Result addSubVideo(
const DeviceId& vId,
int zorder,
float x,
float y,
float w,
float h) = 0;
21 virtual Result modSubVideo(
const DeviceId& vId,
int zorder,
float x,
float y,
float w,
float h) = 0;
23 virtual bool rmvSubVideo(
const DeviceId& vId) = 0;
25 virtual void clearSubVideos() = 0;
54 bool isValid()
const {
return !
id.empty(); }
74 typedef std::function<void(const String& eId, Result error, const String& msg)>
Cb_OnError;
75 virtual void setCb4OnError(Cb_OnError cb) = 0;
83 ViewInfo() :mixWidth(0), mixHeight(0), backgroundColor(0), outBitrate(0), outFps(0){}
86 virtual Result createLocalRecorder(
String& eId,
const String& filePath,
const ViewInfo& view) = 0;
88 virtual Result createLocalRealtimeRecorder(
String& eId,
const String& filePath,
const ViewInfo& view) = 0;
90 virtual Result createLocalRealtimeRecorder(
String& eId, StreamOut* out,
const ViewInfo& view) = 0;
92 virtual Result createLocalLivecast(
String& eId,
const String& pushUrl,
const ViewInfo& view) = 0;
94 typedef std::function<void(Result result, const ExporterInfo& info)>
Cb_CreateResult;
97 virtual Result createServerRealtimeRecorder(
String& eId,
const String& filePath,
const ViewInfo& view, Cb_CreateResult cb) = 0;
104 virtual Result selectAudio4Exporter(
const String& eId,
const UserId& audioUserId) = 0;
115 : x(0.0f), y(0.0f), width(0.0f), height(0.0f), zorder(0), alpha(0), render(IVideoRenderView::Scale_Aspect_Fit) {}
117 : id(aId), x(ax), y(ay), width(aw), height(ah), zorder(az), alpha(0), render(IVideoRenderView::Scale_Aspect_Fit) {}
119 if (infosEqual(
VideoInfo(
id, ax, ay, aw, ah, az))) {
122 x = ax; y = ay; width = aw; height = ah;
127 if (r.
x == x && r.
y == y && r.
width == width && r.
height == height && r.
zorder == zorder) {
139 virtual Result selectMixedVideos4Exporter(
const String& eId,
const VideosType& mixedVideos) = 0;
143 virtual Result pauseResume(
const String& eId,
bool isResume) = 0;
147 virtual Result stopExporterAll() = 0;
156 virtual void* getCurExportItem(
String eId) = 0;
167 #endif//AVD_Module_Exporter_H__
uint32 mixHeight
Definition: mstreamexporter.h:79
unsigned short uint16
Definition: defines.h:395
float height
Definition: mstreamexporter.h:109
NAMESPACE_TEE3_BEGIN typedef std::string String
Definition: common.h:10
float width
Definition: mstreamexporter.h:109
virtual ~StreamOut()
Definition: mstreamexporter.h:69
RecordStatus
Definition: combase.h:497
RoomId roomId
Definition: mstreamexporter.h:37
String UserId
Definition: common.h:13
#define NAMESPACE_TEE3_AVD_END
Definition: combase.h:121
uint16 alpha
Definition: mstreamexporter.h:111
virtual ~IVideoMixer()
Definition: mstreamexporter.h:27
int Result
Definition: combase.h:13
Definition: mstreamexporter.h:63
RecordId id
Definition: mstreamexporter.h:36
bool isValid() const
Definition: mstreamexporter.h:54
float y
Definition: mstreamexporter.h:108
String DeviceId
Definition: common.h:12
bool update(float ax, float ay, float aw, float ah, uint16 az)
Definition: mstreamexporter.h:118
#define RT_API_EXPORT
Definition: defines.h:188
std::function< void(Result result, const ExporterInfo &info)> Cb_CreateResult
Definition: mstreamexporter.h:94
VideoInfo(const DeviceId &aId, float ax, float ay, float aw, float ah, uint16 az)
Definition: mstreamexporter.h:116
uint32 backgroundColor
Definition: mstreamexporter.h:80
unsigned int uint32
Definition: defines.h:393
VideoCodec
Definition: combase.h:174
UserId creatorId
Definition: mstreamexporter.h:38
#define NAMESPACE_TEE3_AVD_BEGIN
Definition: combase.h:120
ExporterInfo * LPExporterInfo
Definition: mstreamexporter.h:56
const String toString(const ExporterInfo &obj)
Definition: mstreamexporter.h:77
unsigned long long uint64
Definition: defines.h:382
Definition: combase.h:498
std::vector< VideoInfo > VideosType
Definition: mstreamexporter.h:138
uint32 outFps
Definition: mstreamexporter.h:82
virtual ~IMStreamExporter()
Definition: mstreamexporter.h:158
Definition: mstreamexporter.h:11
ViewInfo()
Definition: mstreamexporter.h:83
String playurls
Definition: mstreamexporter.h:49
String createTime
Definition: mstreamexporter.h:41
String RoomId
Definition: common.h:11
float x
Definition: mstreamexporter.h:108
DeviceId RecordId
Definition: common.h:15
ViewInfo(uint32 aw, uint32 ah, uint32 outbt)
Definition: mstreamexporter.h:84
bool isValid() const
Definition: mstreamexporter.h:134
Definition: mstreamexporter.h:61
String desturl
Definition: mstreamexporter.h:46
ExporterInfo()
Definition: mstreamexporter.h:53
unsigned char uint8
Definition: defines.h:397
uint32 outBitrate
Definition: mstreamexporter.h:81
uint64 size
Definition: mstreamexporter.h:43
std::vector< ExporterInfo > ExporterInfosType
Definition: mstreamexporter.h:58
String name
Definition: mstreamexporter.h:39
std::function< void(const String &eId, Result error, const String &msg)> Cb_OnError
Definition: mstreamexporter.h:74
bool infosEqual(const VideoInfo &r) const
Definition: mstreamexporter.h:126
AudioCodec
Definition: combase.h:684
IVideoRenderView::ScalingType render
Definition: mstreamexporter.h:112
DeviceId id
Definition: mstreamexporter.h:107
Definition: mstreamexporter.h:106
uint32 mixWidth
Definition: mstreamexporter.h:78
Definition: mstreamexporter.h:35
VideoInfo()
Definition: mstreamexporter.h:114
String appdata
Definition: mstreamexporter.h:40
RecordStatus status
Definition: mstreamexporter.h:42
uint16 zorder
Definition: mstreamexporter.h:110