7 #ifndef AGORA_STREAMING_KIT_H_
8 #define AGORA_STREAMING_KIT_H_
10 #include "AgoraBase.h"
11 #include "IAgoraLog.h"
12 #include "AgoraMediaBase.h"
13 #include "AgoraStreamingBase.h"
18 class IAudioDeviceManager;
19 class IVideoDeviceManager;
20 class IVideoPreviewRenderer;
21 class ISnapshotCallback;
25 enum MAX_DEVICE_ID_LENGTH_TYPE {
27 MAX_DEVICE_ID_LENGTH = 512
32 enum INITIALIZE_ERROR {
34 INITIALIZE_KIT_ERR_OK = 0,
36 INITIALIZE_KIT_ERR_FAILED = 1,
38 INITIALIZE_KIT_ERR_INVALID_ARGUMENT = 2,
40 INITIALIZE_KIT_ERR_ALREADY_INITIALIZED = 3,
42 INITIALIZE_KIT_ERR_AUDIO_CONFIG = 4,
44 INITIALIZE_KIT_ERR_VIDEO_CONFIG = 5,
49 enum START_STREAMING_ERROR {
51 START_STREAMING_ERR_OK = 0,
53 START_STREAMING_ERR_FAILED = 1,
55 START_STREAMING_ERR_NOT_INITIALIZED = 2,
57 START_STREAMING_ERR_ALREADY_STARTED = 3,
59 START_STREAMING_ERR_OPEN_AUDIO_DEVICE = 4,
61 START_STREAMING_ERR_OPEN_VIDEO_DEVICE = 5,
63 START_STREAMING_ERR_CONNECT_RTMP = 6,
65 START_STREAMING_ERR_INVALID_ARGUMENT = 7,
70 enum MEDIA_STREAMING_ERROR {
72 MEDIA_STREAMING_ERR_OK = 0,
74 MEDIA_STREAMING_ERR_FAILED = 1,
76 MEDIA_STREAMING_ERR_AUDIO_PUBLICATION = 2,
78 MEDIA_STREAMING_ERR_VIDEO_PUBLICATION = 3,
83 enum STREAMING_CONNECTION_STATE {
85 STREAMING_CONNECTION_STATE_DISCONNECTED = 0,
87 STREAMING_CONNECTION_STATE_CONNECTED = 1,
89 STREAMING_CONNECTION_STATE_RECONNECTING = 2,
91 STREAMING_CONNECTION_STATE_FAILED = 3,
96 enum RENDER_MODE_TYPE {
99 RENDER_MODE_HIDDEN = 1,
107 enum LOG_FILTER_TYPE {
109 LOG_FILTER_DEBUG = 0x080f,
110 LOG_FILTER_INFO = 0x000f,
111 LOG_FILTER_WARN = 0x000e,
112 LOG_FILTER_ERROR = 0x000c,
113 LOG_FILTER_CRITICAL = 0x0008,
130 virtual void onStartStreamingSuccess() {}
132 virtual void onStartStreamingFailure(START_STREAMING_ERROR err,
const char* msg) {
137 virtual void onMediaStreamingError(MEDIA_STREAMING_ERROR err,
const char* msg) {
142 virtual void onStreamingConnectionStateChanged(STREAMING_CONNECTION_STATE state) {
553 #if defined(__ANDROID__)
563 virtual int startScreenCapture(
void *mediaProjectionPermissionResultData,
int width,
int height) = 0;
570 virtual void stopScreenCapture() = 0;
603 char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
658 char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
714 char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
757 virtual int setDevice(
const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
770 char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
840 virtual void onSnapshot(
const uint8_t* imageBuffer,
int bufferLength,
int imageWidth,
int imageHeight) = 0;
860 AGORA_API
const char* AGORA_CALL getAgoraSdkVersion(
int* build);
862 #endif // AGORA_STREAMING_KIT_H_