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 #include <cstdint>
11 
16 #define KEY_PLAYER_REAL_TIME_STREAM_ANALYZE_DURATION "analyze_duration"
17 
22 #define KEY_PLAYER_ENABLE_AUDIO "enable_audio"
23 
28 #define KEY_PLAYER_ENABLE_VIDEO "enable_video"
29 
34 #define KEY_PLAYER_ENABLE_SEARCH_METADATA "enable_search_metadata"
35 
36 namespace agora {
37 
38 namespace media {
39 
40 namespace base {
41 static const uint8_t kMaxCharBufferLength = 50;
46 enum MEDIA_PLAYER_STATE {
49  PLAYER_STATE_IDLE = 0,
52  PLAYER_STATE_OPENING,
55  PLAYER_STATE_OPEN_COMPLETED,
58  PLAYER_STATE_PLAYING,
61  PLAYER_STATE_PAUSED,
64  PLAYER_STATE_PLAYBACK_COMPLETED,
67  PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED,
70  PLAYER_STATE_STOPPED,
73  PLAYER_STATE_PAUSING_INTERNAL = 50,
76  PLAYER_STATE_STOPPING_INTERNAL,
79  PLAYER_STATE_SEEKING_INTERNAL,
82  PLAYER_STATE_GETTING_INTERNAL,
85  PLAYER_STATE_NONE_INTERNAL,
88  PLAYER_STATE_DO_NOTHING_INTERNAL,
91  PLAYER_STATE_FAILED = 100,
92 };
97 enum MEDIA_PLAYER_ERROR {
100  PLAYER_ERROR_NONE = 0,
103  PLAYER_ERROR_INVALID_ARGUMENTS = -1,
106  PLAYER_ERROR_INTERNAL = -2,
109  PLAYER_ERROR_NO_RESOURCE = -3,
112  PLAYER_ERROR_INVALID_MEDIA_SOURCE = -4,
115  PLAYER_ERROR_UNKNOWN_STREAM_TYPE = -5,
118  PLAYER_ERROR_OBJ_NOT_INITIALIZED = -6,
121  PLAYER_ERROR_CODEC_NOT_SUPPORTED = -7,
124  PLAYER_ERROR_VIDEO_RENDER_FAILED = -8,
127  PLAYER_ERROR_INVALID_STATE = -9,
130  PLAYER_ERROR_URL_NOT_FOUND = -10,
133  PLAYER_ERROR_INVALID_CONNECTION_STATE = -11,
136  PLAYER_ERROR_SRC_BUFFER_UNDERFLOW = -12,
137 };
138 
143 enum MEDIA_PLAYER_PLAYBACK_SPEED {
146  PLAYBACK_SPEED_ORIGINAL = 100,
149  PLAYBACK_SPEED_50_PERCENT = 50,
152  PLAYBACK_SPEED_75_PERCENT = 75,
155  PLAYBACK_SPEED_125_PERCENT = 125,
158  PLAYBACK_SPEED_150_PERCENT = 150,
161  PLAYBACK_SPEED_200_PERCENT = 200,
162 };
163 
168 enum MEDIA_STREAM_TYPE {
171  STREAM_TYPE_UNKNOWN = 0,
174  STREAM_TYPE_VIDEO = 1,
177  STREAM_TYPE_AUDIO = 2,
180  STREAM_TYPE_SUBTITLE = 3,
181 };
182 
187 enum MEDIA_PLAYER_EVENT {
190  PLAYER_EVENT_SEEK_BEGIN = 0,
193  PLAYER_EVENT_SEEK_COMPLETE = 1,
196  PLAYER_EVENT_SEEK_ERROR = 2,
199  PLAYER_EVENT_VIDEO_PUBLISHED = 3,
202  PLAYER_EVENT_AUDIO_PUBLISHED = 4,
205  PLAYER_EVENT_AUDIO_TRACK_CHANGED = 5,
206 };
207 
215 
217  MEDIA_STREAM_TYPE streamType;
218 
220  char codecName[kMaxCharBufferLength];
221 
223  char language[kMaxCharBufferLength];
224 
227 
230 
233 
236 
239 
242 
245 
248 
250  int64_t duration;
251 
253  streamType(STREAM_TYPE_UNKNOWN),
254  videoFrameRate(0),
255  videoBitRate(0),
256  videoWidth(0),
257  videoHeight(0),
258  videoRotation(0),
259  audioSampleRate(0),
260  audioChannels(0),
262  duration(0) {
263  memset(codecName, 0, sizeof(codecName));
264  memset(language, 0, sizeof(language));
265  }
266 };
267 
272 enum MEDIA_PLAYER_METADATA_TYPE {
275  PLAYER_METADATA_TYPE_UNKNOWN = 0,
278  PLAYER_METADATA_TYPE_SEI = 1,
279 };
280 
281 } // namespace base
282 } // namespace media
283 } // namespace agora
agora::media::base::PlayerStreamInfo::videoFrameRate
int videoFrameRate
Definition: AgoraMediaPlayerTypes.h:226
agora::media::base::PlayerStreamInfo::streamType
MEDIA_STREAM_TYPE streamType
Definition: AgoraMediaPlayerTypes.h:217
agora::media::base::PlayerStreamInfo::videoRotation
int videoRotation
Definition: AgoraMediaPlayerTypes.h:238
agora::media::base::PlayerStreamInfo::videoWidth
int videoWidth
Definition: AgoraMediaPlayerTypes.h:232
agora::media::base::PlayerStreamInfo::audioChannels
int audioChannels
Definition: AgoraMediaPlayerTypes.h:244
agora::media::base::PlayerStreamInfo::audioBitsPerSample
int audioBitsPerSample
Definition: AgoraMediaPlayerTypes.h:247
agora::media::base::PlayerStreamInfo::streamIndex
int streamIndex
Definition: AgoraMediaPlayerTypes.h:214
agora::media::base::PlayerStreamInfo::videoBitRate
int videoBitRate
Definition: AgoraMediaPlayerTypes.h:229
agora::media::base::PlayerStreamInfo
The information of the media stream object.
Definition: AgoraMediaPlayerTypes.h:212
agora::media::base::PlayerStreamInfo::duration
int64_t duration
Definition: AgoraMediaPlayerTypes.h:250
agora::media::base::PlayerStreamInfo::audioSampleRate
int audioSampleRate
Definition: AgoraMediaPlayerTypes.h:241
agora::media::base::PlayerStreamInfo::language
char language[kMaxCharBufferLength]
Definition: AgoraMediaPlayerTypes.h:223
agora::media::base::PlayerStreamInfo::codecName
char codecName[kMaxCharBufferLength]
Definition: AgoraMediaPlayerTypes.h:220
agora::media::base::PlayerStreamInfo::videoHeight
int videoHeight
Definition: AgoraMediaPlayerTypes.h:235