KRtcClient.h
1#ifndef __KRTCSDK_H__
2#define __KRTCSDK_H__
3
4#include "KRtcTypeDef.h"
5#include "KRtcCallback.h"
6#include "KRtcDeviceManager.h"
7
8namespace KRTCSDK {
9
10class KRtcClient;
11
15
21KDV_RTC_SDK_API int32_t init(KRtcSdkLogParam* param, KRtcSdkInitParam* initParam);
22
26KDV_RTC_SDK_API void release();
27
33KDV_RTC_SDK_API KRtcClient* createRtcInstance();
34
41KDV_RTC_SDK_API int32_t destroyRtcInstance(KRtcClient* rtcSdk);
42
49
55KDV_RTC_SDK_API const char* getVersion();
57
58
62
66{
67public:
68 virtual ~KRtcClient(){}
69
75 virtual int32_t init(KRtcCallback* callback) = 0;
76
82 virtual void login(LoginParam* param) = 0;
83
87 virtual void logout() = 0;
88
95 virtual int32_t renewToken(const char* token) = 0;
96
102 virtual void joinRoom(JoinRoomParam* param) = 0;
103
108 virtual void leaveRoom() = 0;
109
117 virtual void replyCall(bool answerOrHanup, const char* roomId) = 0;
118
126 virtual int32_t startLocalPreview(winId displayWindowId) = 0;
127
134 virtual void stopLocalPreview(winId displayWindowId) = 0;
135
143 virtual int32_t setMirrorMode(winId displayWindowId, bool mirror) = 0;
144
150 virtual void publishMainVideoStream(uint8_t mediaIndex) = 0;
151
152#if _WIN32
160 virtual void publishDualVideoStream(uint32_t captureScreenId) = 0;
161//#elif (__ANDROID__ || defined(_LINUX_))
162#else
168 virtual void publishDualVideoStream() = 0;
169#endif
170
174 virtual void publishAudioStream() = 0;
175
183
191
199 virtual void subscribeStream(userId id, SubscribeStreamParam* param, winId displayWindowId) = 0;
200
210 virtual void updateStreamLayer(userId id, STREAM_TYPE type, uint8_t mediaIndex, uint8_t layerIndex) = 0;
211
218 virtual void unpublishStream(STREAM_TYPE type, uint8_t mediaIndex) = 0;
219
227 virtual void unsubscribeStream(userId id, STREAM_TYPE type, uint8_t mediaIndex) = 0;
228
236 virtual int32_t setPauseImage(ImageBuffer* image) = 0;
237
245 virtual void pausePublishStream(STREAM_TYPE type, uint8_t mediaIndex, bool pauseOrResume) = 0;
246
255 virtual void pauseSubscribeStream(userId id, STREAM_TYPE type, uint8_t mediaIndex, bool pauseOrResume) = 0;
256
264 virtual void requestKeyFrame(userId id, STREAM_TYPE type, uint8_t mediaIndex) = 0;
265
272 virtual void enableAudioLevelIndication(int32_t interval) = 0;
273
284 virtual int32_t sendVideoFrameData(STREAM_TYPE type, uint8_t mediaIndex, VideoFrameData* data) = 0;
285
297 virtual int32_t sendEncodedVideoData(STREAM_TYPE type, uint8_t mediaIndex, uint8_t layerIndex, EncodedVideoData* data) = 0;
298
307 virtual int32_t sendAudioFrameData(AudioFrameData* data) = 0;
308
317 virtual void enableLocalAudioCallback(bool enable, uint32_t channelCount, uint32_t sampleRate) = 0;
318
327 virtual void enableRemoteAudioCallback(bool enable, uint32_t channelCount, uint32_t sampleRate) = 0;
328
337 virtual void enableRemoteMixedAudioCallback(bool enable, uint32_t channelCount, uint32_t sampleRate) = 0;
338
346 virtual void setAudioDeviceCapability(AudioDeviceCapability* micCapability) = 0;
347
348
356 virtual void snapshotVideo(userId id, STREAM_TYPE type, uint8_t mediaIndex) = 0;
357
362 virtual void setAudioControlPlayoutMute(bool playoutMute) = 0;
363
368 virtual void setAudioControlRecordMute(bool recordMute) = 0;
369
375 virtual void confSubscribeCmd(bool bSubscribe, uint32_t nSubscribeType) = 0;
376
380 virtual void applySpeakerReq() = 0;
381
419 virtual int32_t sendTransparentMsg(const char *pszData, uint32_t nSize) = 0;
420
421public:
422};
424}
425
426#endif
Definition: KRtcCallback.h:34
Definition: KRtcClient.h:66
virtual void login(LoginParam *param)=0
virtual void setMainVideoStreamParam(MainVideoStreamParam *param)=0
virtual void pausePublishStream(STREAM_TYPE type, uint8_t mediaIndex, bool pauseOrResume)=0
virtual int32_t sendVideoFrameData(STREAM_TYPE type, uint8_t mediaIndex, VideoFrameData *data)=0
virtual int32_t setMirrorMode(winId displayWindowId, bool mirror)=0
virtual void enableRemoteMixedAudioCallback(bool enable, uint32_t channelCount, uint32_t sampleRate)=0
virtual void updateStreamLayer(userId id, STREAM_TYPE type, uint8_t mediaIndex, uint8_t layerIndex)=0
virtual void subscribeStream(userId id, SubscribeStreamParam *param, winId displayWindowId)=0
virtual void logout()=0
virtual int32_t renewToken(const char *token)=0
virtual void setAudioDeviceCapability(AudioDeviceCapability *micCapability)=0
virtual void snapshotVideo(userId id, STREAM_TYPE type, uint8_t mediaIndex)=0
virtual void leaveRoom()=0
virtual int32_t sendTransparentMsg(const char *pszData, uint32_t nSize)=0
virtual void setDualVideoStreamParam(DualVideoStreamParam *param)=0
virtual void pauseSubscribeStream(userId id, STREAM_TYPE type, uint8_t mediaIndex, bool pauseOrResume)=0
virtual void publishDualVideoStream(uint32_t captureScreenId)=0
virtual int32_t init(KRtcCallback *callback)=0
virtual void stopLocalPreview(winId displayWindowId)=0
virtual int32_t sendEncodedVideoData(STREAM_TYPE type, uint8_t mediaIndex, uint8_t layerIndex, EncodedVideoData *data)=0
virtual void requestKeyFrame(userId id, STREAM_TYPE type, uint8_t mediaIndex)=0
virtual int32_t setPauseImage(ImageBuffer *image)=0
virtual void enableRemoteAudioCallback(bool enable, uint32_t channelCount, uint32_t sampleRate)=0
virtual void enableLocalAudioCallback(bool enable, uint32_t channelCount, uint32_t sampleRate)=0
virtual void unpublishStream(STREAM_TYPE type, uint8_t mediaIndex)=0
virtual void applySpeakerReq()=0
virtual void setAudioControlPlayoutMute(bool playoutMute)=0
virtual void joinRoom(JoinRoomParam *param)=0
virtual void enableAudioLevelIndication(int32_t interval)=0
virtual void setAudioControlRecordMute(bool recordMute)=0
virtual void replyCall(bool answerOrHanup, const char *roomId)=0
virtual void unsubscribeStream(userId id, STREAM_TYPE type, uint8_t mediaIndex)=0
virtual void publishMainVideoStream(uint8_t mediaIndex)=0
virtual int32_t sendAudioFrameData(AudioFrameData *data)=0
virtual int32_t startLocalPreview(winId displayWindowId)=0
virtual void confSubscribeCmd(bool bSubscribe, uint32_t nSubscribeType)=0
virtual void publishAudioStream()=0
Definition: KRtcDeviceManager.h:12
KDV_RTC_SDK_API const char * getVersion()
KDV_RTC_SDK_API KRtcClient * createRtcInstance()
KDV_RTC_SDK_API int32_t init(KRtcSdkLogParam *param, KRtcSdkInitParam *initParam)
KDV_RTC_SDK_API int32_t destroyRtcInstance(KRtcClient *rtcSdk)
KDV_RTC_SDK_API void release()
KDV_RTC_SDK_API KRtcDeviceManager * getDeviceManager()
STREAM_TYPE
Definition: KRtcTypeDef.h:146
Definition: KRtcTypeDef.h:286
Definition: KRtcTypeDef.h:187
Definition: KRtcTypeDef.h:140
Definition: KRtcTypeDef.h:201
Definition: KRtcTypeDef.h:107
Definition: KRtcTypeDef.h:87
Definition: KRtcTypeDef.h:58
Definition: KRtcTypeDef.h:72
Definition: KRtcTypeDef.h:79
Definition: KRtcTypeDef.h:131
Definition: KRtcTypeDef.h:155
Definition: KRtcTypeDef.h:174