C++SDK  1.0.0
avdrecord.h
浏览该文件的文档.
1 #ifndef RT_AVDRecord_H_
2 #define RT_AVDRecord_H_
3 
4 #include "common.h"
5 #include "avdengine.h"
6 
7 namespace tee3 {
8  namespace avd {
14  struct RecordInfo {
29  std::vector<String> urls;
30  public:
31  RecordInfo() :fileType(mt_mp4), audioType(ra_user_single), videoType(rv_main), size(0), duration(0), status(rs_created){}
32  bool isValid() const { return !id.empty(); }
33  };
35  const String toString(const RecordInfo& obj);
36 
40  typedef std::vector<RecordInfo> RecordInfosType;
41 
48  public:
54  class IListener {
55  public:
66  virtual void onWorkingRooms(uint32 callId, Result result, uint32 total, uint32 begin, const RoomInfosType& items) = 0;
76  virtual void onPublishedVideos(uint32 callId, Result result, const RoomId& roomId, const VideoDevicesType& items) = 0;
77 
79 
87  virtual void onCreateRecord(uint32 callId, Result result, const RecordInfo& info) = 0;
97  virtual void onSelectMedia4Record(uint32 callId, Result result, const RecordId& recordId, const DeviceId& selectedVideo) = 0;
106  virtual void onCreateUserRecord(uint32 callId, Result result, const RecordInfo& info) = 0;
117  virtual void onStopRecord(uint32 callId, Result result, const RecordId& recordId) = 0;
118 
120 
128  virtual void onRecordInfo(uint32 callId, Result result, const RecordInfo& info) = 0;
139  virtual void onRecordInfos(uint32 callId, Result result, uint32 total, uint32 begin, const RecordInfosType& items) = 0;
148  virtual void onDeleteRecord(uint32 callId, Result result, const RecordId& recordId) = 0;
149  protected:
150  virtual ~IListener() {}
151  };
152 
153  public:
163  virtual Result getWorkingRooms(uint32& callId, uint32 begindex, uint32 ncount) = 0;
172  virtual Result getPublishedVideos(uint32& callId, const RoomId& roomId) = 0;
173  public:
178  static IAVDRecord* getRecord(IAVDEngine *engine);
181  static void release();
187  virtual Result setListener(IListener* listener) = 0;
188  //
196  virtual Result createRecord(uint32& callId, const RecordInfo& info) = 0;
207  virtual Result selectMedia4Record(uint32& callId, const RecordId& recordId, const RoomId& roomId, const DeviceId& selectedVideo) = 0;
218  virtual Result createUserRecord(uint32& callId, const RecordInfo& info) = 0;
227  virtual Result stopRecord(uint32& callId, const RecordId& recordId) = 0;
228 
237  virtual Result getRecordInfo(uint32& callId, const RecordId& recordId) = 0;
248  virtual Result findRecordInfos(uint32& callId, uint32 begindex, uint32 ncount, const String& filter) = 0;
257  virtual Result deleteRecord(uint32& callId, const RecordId& recordId) = 0;
258  protected:
259  virtual ~IAVDRecord() {}
260  };
261 
262  } // namespace avd
263 } // namespace tee3
264 #endif//RT_AVDRecord_H_
Definition: avdrecord.h:47
std::vector< String > urls
Definition: avdrecord.h:29
MediaFileType
Definition: combase.h:492
NAMESPACE_TEE3_BEGIN typedef std::string String
Definition: common.h:10
RecordStatus
Definition: combase.h:497
String UserId
Definition: common.h:13
RecordId id
Definition: avdrecord.h:15
int Result
Definition: combase.h:13
String name
Definition: avdrecord.h:16
String DeviceId
Definition: common.h:12
#define RT_API_EXPORT
Definition: defines.h:188
RecordInfo * LPRecordInfo
Definition: avdrecord.h:34
unsigned int uint32
Definition: defines.h:393
RecordAudioType
Definition: combase.h:479
Definition: avdengine.h:14
String url
Definition: avdrecord.h:28
Definition: combase.h:487
MediaFileType fileType
Definition: avdrecord.h:20
bool isValid() const
Definition: avdrecord.h:32
std::vector< RoomInfo > RoomInfosType
Definition: common.h:84
unsigned long long uint64
Definition: defines.h:382
Definition: combase.h:498
RecordVideoType
Definition: combase.h:485
virtual ~IAVDRecord()
Definition: avdrecord.h:259
Definition: avdrecord.h:54
virtual ~IListener()
Definition: avdrecord.h:150
const String toString(const RecordInfo &obj)
Definition: avdrecord.h:14
String RoomId
Definition: common.h:11
uint64 size
Definition: avdrecord.h:23
DeviceId RecordId
Definition: common.h:15
RecordAudioType audioType
Definition: avdrecord.h:21
String createTime
Definition: avdrecord.h:24
std::vector< RecordInfo > RecordInfosType
Definition: avdrecord.h:40
RecordStatus status
Definition: avdrecord.h:26
RecordInfo()
Definition: avdrecord.h:31
Definition: combase.h:481
String tags
Definition: avdrecord.h:18
uint64 duration
Definition: avdrecord.h:25
RoomId roomId
Definition: avdrecord.h:27
std::vector< VideoDevice > VideoDevicesType
Definition: common.h:297
RecordVideoType videoType
Definition: avdrecord.h:22
Definition: audiocapture.h:5
String description
Definition: avdrecord.h:17
Definition: combase.h:493
UserId userId
Definition: avdrecord.h:19