cn.tee3.avd_SDK-C++  2.1.0
avdlive.h
浏览该文件的文档.
1 #ifndef RT_AVDLive_H_
2 #define RT_AVDLive_H_
3 
4 #include "common.h"
5 #include "avdengine.h"
6 #include "room.h"
7 
8 namespace tee3 {
9  namespace avd {
15  struct LiveInfo {
31  public:
32  LiveInfo() :audioType(ra_user_single), videoType(rv_main), duration(0), status(ls_created){}
33  bool isValid() const { return !id.empty(); }
34  };
35  const String toString(const LiveInfo& obj);
36 
40  typedef std::vector<LiveInfo> LiveInfosType;
41 
49  public:
55  class IListener {
56  public:
58 
68  virtual void onWorkingRooms(uint32 callId, Result result, uint32 total, uint32 begin, const RoomInfosType& items) = 0;
78  virtual void onPublishedVideos(uint32 callId, Result result, const RoomId& roomId, const VideoDevicesType& items) = 0;
79 
81 
89  virtual void onCreateLive(uint32 callId, Result result, const LiveInfo& info) = 0;
99  virtual void onSelectMedia4Live(uint32 callId, Result result, const LiveId& lvbc_id, const DeviceId& selectedVideo) = 0;
108  virtual void onCreateUserLive(uint32 callId, Result result, const LiveInfo& info) = 0;
117  virtual void onStopLive(uint32 callId, Result result, const LiveId& lvbc_id) = 0;
126  virtual void onLiveInfo(uint32 callId, Result result, const LiveInfo& info) = 0;
137  virtual void onLiveInfos(uint32 callId, Result result, uint32 total, uint32 begin, const LiveInfosType& items) = 0;
146  virtual void onDeleteLive(uint32 callId, Result result, const LiveId& lvbc_id) = 0;
147  protected:
148  virtual ~IListener() {}
149  };
150  public:
160  virtual Result getWorkingRooms(uint32& callId, uint32 begindex, uint32 ncount) = 0;
169  virtual Result getPublishedVideos(uint32& callId, const RoomId& roomId) = 0;
170  public:
175  static IAVDLive* getLive(IAVDEngine *engine);
178  static void release();
184  virtual Result setListener(IListener* listener) = 0;
192  virtual Result createLive(uint32& callId, const LiveInfo& info) = 0;
203  virtual Result selectMedia4Live(uint32& callId, const LiveId& lvbc_id, const RoomId& roomId, const DeviceId& selectedVideo) = 0;
214  virtual Result createUserLive(uint32& callId, const LiveInfo& info) = 0;
223  virtual Result stopLive(uint32& callId, const LiveId& lvbc_id) = 0;
232  virtual Result getLiveInfo(uint32& callId, const LiveId& lvbc_id) = 0;
243  virtual Result findLiveInfos(uint32& callId, uint32 begindex, uint32 ncount, const String& filter) = 0;
244 
253  virtual Result deleteLive(uint32& callId, const LiveId& lvbc_id) = 0;
254  protected:
255  virtual ~IAVDLive() {}
256  };
257 
258  } // namespace avd
259 } // namespace tee3
260 #endif//RT_AVDLive_H_
直播频道管理接口.
Definition: avdlive.h:48
RoomId roomId
频道关联房间号
Definition: avdlive.h:26
virtual ~IAVDLive()
Definition: avdlive.h:255
std::vector< LiveInfo > LiveInfosType
直播频道信息集合类型.
Definition: avdlive.h:40
String name
直播频道的名称
Definition: avdlive.h:17
String rtmpurl
播放rtmp链接
Definition: avdlive.h:29
RecordVideoType videoType
视频类型
Definition: avdlive.h:22
直播频道数据结构.
Definition: avdlive.h:15
RecordAudioType audioType
音频类型
Definition: avdlive.h:21
String UserId
用户号类型,唯一标识房间内一个用户,长度不大于Max_UserId定义;由应用层定义传递给AVD SDK,要求保证房间...
Definition: common.h:13
LiveStatus
旁路直播频道状态定义
Definition: combase.h:470
String createTime
频道创建起始时间
Definition: avdlive.h:23
String playerPassword
播放密码
Definition: avdlive.h:25
int Result
返回值类型
Definition: combase.h:9
String DeviceId
设备号类型,唯一标识房间内一个设备,长度不大于Max_DeviceId定义;定义如下:userId+"_"+md5[os.getdeviceid() or os.getsystemid()]
Definition: common.h:12
#define RT_API_EXPORT
Definition: defines.h:186
创建直播
Definition: combase.h:471
bool isValid() const
Definition: avdlive.h:33
virtual ~IListener()
Definition: avdlive.h:148
unsigned int uint32
Definition: defines.h:391
RecordAudioType
录制音频类型定义
Definition: combase.h:444
uint32 duration
频道从创建到现在的时长
Definition: avdlive.h:24
std::string String
tee3定义的String类型
Definition: common.h:10
视频主流
Definition: combase.h:452
直播频道回调接口类
Definition: avdlive.h:55
std::vector< RoomInfo > RoomInfosType
房间信息集合类型.
Definition: common.h:74
String publishurl
推流地址,创建时可带上,若存在,服务器优先推送此地址
Definition: avdlive.h:28
RecordVideoType
录制视频类型定义
Definition: combase.h:450
String tags
直播标记
Definition: avdlive.h:19
AVD引擎接口类
Definition: avdengine.h:14
const String toString(const LiveInfo &obj)
String RoomId
房间号类型,唯一标识房间内一个房间,长度不大于Max_RoomId定义;定义如下:[RId_P|T_H|F_P|M_type_guid];...
Definition: common.h:11
String description
直播频道描述
Definition: avdlive.h:18
UserId userId
用户号,可不存在,存在时与audioType,videoType一起使用;直播此用户的相关音频和视频数据 ...
Definition: avdlive.h:20
String hlsurl
播放hls链接
Definition: avdlive.h:30
LiveId id
频道的ID
Definition: avdlive.h:16
同视频用户的单用户音频
Definition: combase.h:446
LiveStatus status
直播状态
Definition: avdlive.h:27
std::vector< VideoDevice > VideoDevicesType
视频设备集合类型.
Definition: common.h:296
Definition: audiocapture.h:5
LiveInfo()
Definition: avdlive.h:32
DeviceId LiveId
直播频道ID类型
Definition: common.h:16