Agora Java API Reference for Android
AgoraMediaPlayerTypes.h
1 //
2 // Agora Engine SDK
3 //
4 // Created by Sting Feng in 2020-05.
5 // Copyright (c) 2017 Agora.io. All rights reserved.
6 
7 #pragma once // NOLINT(build/header_guard)
8 
9 #include <cstring>
10 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
11 #include <cstdint>
12 #endif
13 
18 #define KEY_PLAYER_REAL_TIME_STREAM_ANALYZE_DURATION "analyze_duration"
19 
24 #define KEY_PLAYER_ENABLE_AUDIO "enable_audio"
25 
30 #define KEY_PLAYER_ENABLE_VIDEO "enable_video"
31 
36 #define KEY_PLAYER_ENABLE_SEARCH_METADATA "enable_search_metadata"
37 
42 #define KEY_PLAYER_SEI_FILTER_TYPE "set_sei_filter_type"
43 
44 namespace agora {
45 
46 namespace media {
47 
48 namespace base {
49 static const uint8_t kMaxCharBufferLength = 50;
54 enum MEDIA_PLAYER_STATE {
57  PLAYER_STATE_IDLE = 0,
60  PLAYER_STATE_OPENING,
63  PLAYER_STATE_OPEN_COMPLETED,
66  PLAYER_STATE_PLAYING,
69  PLAYER_STATE_PAUSED,
72  PLAYER_STATE_PLAYBACK_COMPLETED,
75  PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED,
78  PLAYER_STATE_STOPPED,
81  PLAYER_STATE_PAUSING_INTERNAL = 50,
84  PLAYER_STATE_STOPPING_INTERNAL,
87  PLAYER_STATE_SEEKING_INTERNAL,
90  PLAYER_STATE_GETTING_INTERNAL,
93  PLAYER_STATE_NONE_INTERNAL,
96  PLAYER_STATE_DO_NOTHING_INTERNAL,
99  PLAYER_STATE_FAILED = 100,
100 };
105 enum MEDIA_PLAYER_ERROR {
108  PLAYER_ERROR_NONE = 0,
111  PLAYER_ERROR_INVALID_ARGUMENTS = -1,
114  PLAYER_ERROR_INTERNAL = -2,
117  PLAYER_ERROR_NO_RESOURCE = -3,
120  PLAYER_ERROR_INVALID_MEDIA_SOURCE = -4,
123  PLAYER_ERROR_UNKNOWN_STREAM_TYPE = -5,
126  PLAYER_ERROR_OBJ_NOT_INITIALIZED = -6,
129  PLAYER_ERROR_CODEC_NOT_SUPPORTED = -7,
132  PLAYER_ERROR_VIDEO_RENDER_FAILED = -8,
135  PLAYER_ERROR_INVALID_STATE = -9,
138  PLAYER_ERROR_URL_NOT_FOUND = -10,
141  PLAYER_ERROR_INVALID_CONNECTION_STATE = -11,
144  PLAYER_ERROR_SRC_BUFFER_UNDERFLOW = -12,
147  PLAYER_ERROR_INTERRUPTED = -13,
148 };
149 
154 enum MEDIA_PLAYER_PLAYBACK_SPEED {
157  PLAYBACK_SPEED_ORIGINAL = 100,
160  PLAYBACK_SPEED_50_PERCENT = 50,
163  PLAYBACK_SPEED_75_PERCENT = 75,
166  PLAYBACK_SPEED_125_PERCENT = 125,
169  PLAYBACK_SPEED_150_PERCENT = 150,
172  PLAYBACK_SPEED_200_PERCENT = 200,
173 };
174 
179 enum MEDIA_STREAM_TYPE {
182  STREAM_TYPE_UNKNOWN = 0,
185  STREAM_TYPE_VIDEO = 1,
188  STREAM_TYPE_AUDIO = 2,
191  STREAM_TYPE_SUBTITLE = 3,
192 };
193 
198 enum MEDIA_PLAYER_EVENT {
201  PLAYER_EVENT_SEEK_BEGIN = 0,
204  PLAYER_EVENT_SEEK_COMPLETE = 1,
207  PLAYER_EVENT_SEEK_ERROR = 2,
210  PLAYER_EVENT_VIDEO_PUBLISHED = 3,
213  PLAYER_EVENT_AUDIO_PUBLISHED = 4,
216  PLAYER_EVENT_AUDIO_TRACK_CHANGED = 5,
219  PLAYER_EVENT_BUFFER_LOW = 6,
222  PLAYER_EVENT_BUFFER_RECOVER = 7,
225  PLAYER_EVENT_FREEZE_START = 8,
228  PLAYER_EVENT_FREEZE_STOP = 9,
229 };
230 
238 
240  MEDIA_STREAM_TYPE streamType;
241 
243  char codecName[kMaxCharBufferLength];
244 
246  char language[kMaxCharBufferLength];
247 
250 
253 
256 
259 
262 
265 
268 
271 
273  int64_t duration;
274 
276  streamType(STREAM_TYPE_UNKNOWN),
277  videoFrameRate(0),
278  videoBitRate(0),
279  videoWidth(0),
280  videoHeight(0),
281  videoRotation(0),
282  audioSampleRate(0),
283  audioChannels(0),
285  duration(0) {
286  memset(codecName, 0, sizeof(codecName));
287  memset(language, 0, sizeof(language));
288  }
289 };
290 
295 enum MEDIA_PLAYER_METADATA_TYPE {
298  PLAYER_METADATA_TYPE_UNKNOWN = 0,
301  PLAYER_METADATA_TYPE_SEI = 1,
302 };
303 
304 } // namespace base
305 } // namespace media
306 } // namespace agora
agora::media::base::PlayerStreamInfo::videoFrameRate
int videoFrameRate
Definition: AgoraMediaPlayerTypes.h:249
agora::media::base::PlayerStreamInfo::streamType
MEDIA_STREAM_TYPE streamType
Definition: AgoraMediaPlayerTypes.h:240
agora::media::base::PlayerStreamInfo::videoRotation
int videoRotation
Definition: AgoraMediaPlayerTypes.h:261
agora::media::base::PlayerStreamInfo::videoWidth
int videoWidth
Definition: AgoraMediaPlayerTypes.h:255
agora::media::base::PlayerStreamInfo::audioChannels
int audioChannels
Definition: AgoraMediaPlayerTypes.h:267
agora::media::base::PlayerStreamInfo::audioBitsPerSample
int audioBitsPerSample
Definition: AgoraMediaPlayerTypes.h:270
agora::media::base::PlayerStreamInfo::streamIndex
int streamIndex
Definition: AgoraMediaPlayerTypes.h:237
agora::media::base::PlayerStreamInfo::videoBitRate
int videoBitRate
Definition: AgoraMediaPlayerTypes.h:252
agora::media::base::PlayerStreamInfo
The information of the media stream object.
Definition: AgoraMediaPlayerTypes.h:235
agora::media::base::PlayerStreamInfo::duration
int64_t duration
Definition: AgoraMediaPlayerTypes.h:273
agora::media::base::PlayerStreamInfo::audioSampleRate
int audioSampleRate
Definition: AgoraMediaPlayerTypes.h:264
agora::media::base::PlayerStreamInfo::language
char language[kMaxCharBufferLength]
Definition: AgoraMediaPlayerTypes.h:246
agora::media::base::PlayerStreamInfo::codecName
char codecName[kMaxCharBufferLength]
Definition: AgoraMediaPlayerTypes.h:243
agora::media::base::PlayerStreamInfo::videoHeight
int videoHeight
Definition: AgoraMediaPlayerTypes.h:258