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,
108 enum VIDEO_MIRROR_MODE_TYPE {
110 VIDEO_MIRROR_MODE_AUTO = 0,
112 VIDEO_MIRROR_MODE_ENABLED = 1,
114 VIDEO_MIRROR_MODE_DISABLED = 2,
118 enum LOG_FILTER_TYPE {
120 LOG_FILTER_DEBUG = 0x080f,
121 LOG_FILTER_INFO = 0x000f,
122 LOG_FILTER_WARN = 0x000e,
123 LOG_FILTER_ERROR = 0x000c,
124 LOG_FILTER_CRITICAL = 0x0008,
141 virtual void onStartStreamingSuccess() {}
143 virtual void onStartStreamingFailure(START_STREAMING_ERROR err,
const char* msg) {
148 virtual void onMediaStreamingError(MEDIA_STREAMING_ERROR err,
const char* msg) {
153 virtual void onStreamingConnectionStateChanged(STREAMING_CONNECTION_STATE state) {
524 #if defined(__ANDROID__)
534 virtual int startScreenCapture(
void *mediaProjectionPermissionResultData,
int width,
int height) = 0;
541 virtual void stopScreenCapture() = 0;
574 char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
629 char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
685 char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
728 virtual int setDevice(
const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
741 char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;
811 virtual void onSnapshot(
const uint8_t* imageBuffer,
int bufferLength,
int imageWidth,
int imageHeight) = 0;
831 AGORA_API
const char* AGORA_CALL getAgoraStreamingKitSdkVersion(
int* build);
833 #endif // AGORA_STREAMING_KIT_H_