Agora RTC Objective-C API Reference Refactor

AgoraMediaPlayerTypes.h
Go to the documentation of this file.
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 <stdint.h>
11
12 #include "AgoraOptional.h"
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_SET_TRACK_INTERNAL,
102 PLAYER_STATE_FAILED = 100,
103 };
108 enum MEDIA_PLAYER_ERROR {
111 PLAYER_ERROR_NONE = 0,
114 PLAYER_ERROR_INVALID_ARGUMENTS = -1,
117 PLAYER_ERROR_INTERNAL = -2,
120 PLAYER_ERROR_NO_RESOURCE = -3,
123 PLAYER_ERROR_INVALID_MEDIA_SOURCE = -4,
126 PLAYER_ERROR_UNKNOWN_STREAM_TYPE = -5,
129 PLAYER_ERROR_OBJ_NOT_INITIALIZED = -6,
132 PLAYER_ERROR_CODEC_NOT_SUPPORTED = -7,
135 PLAYER_ERROR_VIDEO_RENDER_FAILED = -8,
138 PLAYER_ERROR_INVALID_STATE = -9,
141 PLAYER_ERROR_URL_NOT_FOUND = -10,
144 PLAYER_ERROR_INVALID_CONNECTION_STATE = -11,
147 PLAYER_ERROR_SRC_BUFFER_UNDERFLOW = -12,
150 PLAYER_ERROR_INTERRUPTED = -13,
153 PLAYER_ERROR_NOT_SUPPORTED = -14,
156 PLAYER_ERROR_TOKEN_EXPIRED = -15,
159 PLAYER_ERROR_IP_EXPIRED = -16,
162 PLAYER_ERROR_UNKNOWN = -17,
163 };
164
169 enum MEDIA_STREAM_TYPE {
172 STREAM_TYPE_UNKNOWN = 0,
175 STREAM_TYPE_VIDEO = 1,
178 STREAM_TYPE_AUDIO = 2,
181 STREAM_TYPE_SUBTITLE = 3,
182 };
183
188 enum MEDIA_PLAYER_EVENT {
191 PLAYER_EVENT_SEEK_BEGIN = 0,
194 PLAYER_EVENT_SEEK_COMPLETE = 1,
197 PLAYER_EVENT_SEEK_ERROR = 2,
200 PLAYER_EVENT_AUDIO_TRACK_CHANGED = 5,
203 PLAYER_EVENT_BUFFER_LOW = 6,
206 PLAYER_EVENT_BUFFER_RECOVER = 7,
209 PLAYER_EVENT_FREEZE_START = 8,
212 PLAYER_EVENT_FREEZE_STOP = 9,
215 PLAYER_EVENT_SWITCH_BEGIN = 10,
218 PLAYER_EVENT_SWITCH_COMPLETE = 11,
221 PLAYER_EVENT_SWITCH_ERROR = 12,
224 PLAYER_EVENT_FIRST_DISPLAYED = 13,
227 PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT = 14,
230 PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE = 15,
233 PLAYER_EVENT_TRY_OPEN_START = 16,
236 PLAYER_EVENT_TRY_OPEN_SUCCEED = 17,
239 PLAYER_EVENT_TRY_OPEN_FAILED = 18,
240 };
241
246 enum PLAYER_PRELOAD_EVENT {
249 PLAYER_PRELOAD_EVENT_BEGIN = 0,
252 PLAYER_PRELOAD_EVENT_COMPLETE = 1,
255 PLAYER_PRELOAD_EVENT_ERROR = 2,
256 };
257
262 struct PlayerStreamInfo {
264 int streamIndex;
265
267 MEDIA_STREAM_TYPE streamType;
268
270 char codecName[kMaxCharBufferLength];
271
273 char language[kMaxCharBufferLength];
274
276 int videoFrameRate;
277
279 int videoBitRate;
280
282 int videoWidth;
283
285 int videoHeight;
286
288 int videoRotation;
289
291 int audioSampleRate;
292
294 int audioChannels;
295
297 int audioBitsPerSample;
298
300 int64_t duration;
301
302 PlayerStreamInfo() : streamIndex(0),
303 streamType(STREAM_TYPE_UNKNOWN),
304 videoFrameRate(0),
305 videoBitRate(0),
306 videoWidth(0),
307 videoHeight(0),
308 videoRotation(0),
309 audioSampleRate(0),
310 audioChannels(0),
311 audioBitsPerSample(0),
312 duration(0) {
313 memset(codecName, 0, sizeof(codecName));
314 memset(language, 0, sizeof(language));
315 }
316 };
317
322 struct SrcInfo {
326 int bitrateInKbps;
327
331 const char* name;
332
333 };
334
339 enum MEDIA_PLAYER_METADATA_TYPE {
342 PLAYER_METADATA_TYPE_UNKNOWN = 0,
345 PLAYER_METADATA_TYPE_SEI = 1,
346 };
347
348 struct CacheStatistics {
351 int64_t fileSize;
354 int64_t cacheSize;
357 int64_t downloadSize;
358 };
359
360 struct PlayerUpdatedInfo {
363 Optional<const char*> playerId;
364
367 Optional<const char*> deviceId;
368
371 Optional<CacheStatistics> cacheStatistics;
372 };
373
377 class IMediaPlayerCustomDataProvider {
378 public:
379
386 virtual int onReadData(unsigned char *buffer, int bufferSize) = 0;
387
400 virtual int64_t onSeek(int64_t offset, int whence) = 0;
401
402 virtual ~IMediaPlayerCustomDataProvider() {}
403 };
404
405 struct MediaSource {
409 const char* url;
416 const char* uri;
420 int64_t startPos;
426 bool autoPlay;
438 bool enableCache;
449 bool enableMultiAudioTrack;
455 Optional<bool> isAgoraSource;
461 Optional<bool> isLiveSource;
465 IMediaPlayerCustomDataProvider* provider;
466
467 MediaSource() : url(NULL), uri(NULL), startPos(0), autoPlay(true), enableCache(false),
468 enableMultiAudioTrack(false), provider(NULL){
469 }
470 };
471
472 } // namespace base
473 } // namespace media
474 } // namespace agora
agora::media::base::MediaSource::url
const char * url
Definition: AgoraMediaPlayerTypes.h:409
agora::media::base::PlayerStreamInfo::videoRotation
int videoRotation
Definition: AgoraMediaPlayerTypes.h:288
agora::media::base::PLAYER_ERROR_UNKNOWN
@ PLAYER_ERROR_UNKNOWN
Definition: AgoraMediaPlayerTypes.h:162
agora::media::base::PLAYER_ERROR_URL_NOT_FOUND
@ PLAYER_ERROR_URL_NOT_FOUND
Definition: AgoraMediaPlayerTypes.h:141
agora::media::base::MediaSource::isLiveSource
Optional< bool > isLiveSource
Definition: AgoraMediaPlayerTypes.h:461
agora::media::base::PlayerStreamInfo::PlayerStreamInfo
PlayerStreamInfo()
Definition: AgoraMediaPlayerTypes.h:302
agora::media::base::PLAYER_STATE_FAILED
@ PLAYER_STATE_FAILED
Definition: AgoraMediaPlayerTypes.h:102
agora::media::base::PLAYER_ERROR_IP_EXPIRED
@ PLAYER_ERROR_IP_EXPIRED
Definition: AgoraMediaPlayerTypes.h:159
agora::media::base::PLAYER_STATE_STOPPED
@ PLAYER_STATE_STOPPED
Definition: AgoraMediaPlayerTypes.h:78
agora::media::base::MEDIA_STREAM_TYPE
MEDIA_STREAM_TYPE
The type of the media stream.
Definition: AgoraMediaPlayerTypes.h:169
agora::media::base::PLAYER_STATE_OPEN_COMPLETED
@ PLAYER_STATE_OPEN_COMPLETED
Definition: AgoraMediaPlayerTypes.h:63
agora::media::base::MediaSource::autoPlay
bool autoPlay
Definition: AgoraMediaPlayerTypes.h:426
agora::media::base::PLAYER_STATE_PAUSING_INTERNAL
@ PLAYER_STATE_PAUSING_INTERNAL
Definition: AgoraMediaPlayerTypes.h:81
agora::media::base::PLAYER_ERROR_UNKNOWN_STREAM_TYPE
@ PLAYER_ERROR_UNKNOWN_STREAM_TYPE
Definition: AgoraMediaPlayerTypes.h:126
agora::media::base::CacheStatistics
Definition: AgoraMediaPlayerTypes.h:348
agora::media::base::PLAYER_EVENT_BUFFER_LOW
@ PLAYER_EVENT_BUFFER_LOW
Definition: AgoraMediaPlayerTypes.h:203
agora::media::base::PLAYER_ERROR_TOKEN_EXPIRED
@ PLAYER_ERROR_TOKEN_EXPIRED
Definition: AgoraMediaPlayerTypes.h:156
agora::media::base::MediaSource::uri
const char * uri
Definition: AgoraMediaPlayerTypes.h:416
agora::media::base::PlayerUpdatedInfo
Definition: AgoraMediaPlayerTypes.h:360
agora::media::base::PLAYER_ERROR_INTERRUPTED
@ PLAYER_ERROR_INTERRUPTED
Definition: AgoraMediaPlayerTypes.h:150
agora::media::base::PLAYER_ERROR_NONE
@ PLAYER_ERROR_NONE
Definition: AgoraMediaPlayerTypes.h:111
agora::media::base::MEDIA_PLAYER_EVENT
MEDIA_PLAYER_EVENT
The playback event.
Definition: AgoraMediaPlayerTypes.h:188
agora::media::base::PLAYER_EVENT_SEEK_ERROR
@ PLAYER_EVENT_SEEK_ERROR
Definition: AgoraMediaPlayerTypes.h:197
agora::media::base::PLAYER_ERROR_INVALID_MEDIA_SOURCE
@ PLAYER_ERROR_INVALID_MEDIA_SOURCE
Definition: AgoraMediaPlayerTypes.h:123
agora::media::base::STREAM_TYPE_UNKNOWN
@ STREAM_TYPE_UNKNOWN
Definition: AgoraMediaPlayerTypes.h:172
agora::media::base::IMediaPlayerCustomDataProvider::~IMediaPlayerCustomDataProvider
virtual ~IMediaPlayerCustomDataProvider()
Definition: AgoraMediaPlayerTypes.h:402
agora::media::base::CacheStatistics::downloadSize
int64_t downloadSize
Definition: AgoraMediaPlayerTypes.h:357
agora::media::base::MEDIA_PLAYER_STATE
MEDIA_PLAYER_STATE
The playback state.
Definition: AgoraMediaPlayerTypes.h:54
agora::media::base::PLAYER_STATE_GETTING_INTERNAL
@ PLAYER_STATE_GETTING_INTERNAL
Definition: AgoraMediaPlayerTypes.h:90
agora::media::base::PLAYER_PRELOAD_EVENT_COMPLETE
@ PLAYER_PRELOAD_EVENT_COMPLETE
Definition: AgoraMediaPlayerTypes.h:252
agora
Definition: AgoraAtomicOps.h:21
agora::media::base::PLAYER_METADATA_TYPE_SEI
@ PLAYER_METADATA_TYPE_SEI
Definition: AgoraMediaPlayerTypes.h:345
agora::media::base::PLAYER_ERROR_NOT_SUPPORTED
@ PLAYER_ERROR_NOT_SUPPORTED
Definition: AgoraMediaPlayerTypes.h:153
agora::media::base::IMediaPlayerCustomDataProvider
Definition: AgoraMediaPlayerTypes.h:377
agora::media::base::PLAYER_ERROR_INTERNAL
@ PLAYER_ERROR_INTERNAL
Definition: AgoraMediaPlayerTypes.h:117
agora::media::base::PLAYER_EVENT_SWITCH_BEGIN
@ PLAYER_EVENT_SWITCH_BEGIN
Definition: AgoraMediaPlayerTypes.h:215
agora::media::base::PLAYER_STATE_PLAYBACK_COMPLETED
@ PLAYER_STATE_PLAYBACK_COMPLETED
Definition: AgoraMediaPlayerTypes.h:72
agora::media::base::PlayerUpdatedInfo::playerId
Optional< const char * > playerId
Definition: AgoraMediaPlayerTypes.h:363
agora::media::base::SrcInfo::bitrateInKbps
int bitrateInKbps
Definition: AgoraMediaPlayerTypes.h:326
agora::media::base::CacheStatistics::fileSize
int64_t fileSize
Definition: AgoraMediaPlayerTypes.h:351
agora::media::base::PLAYER_STATE_PAUSED
@ PLAYER_STATE_PAUSED
Definition: AgoraMediaPlayerTypes.h:69
agora::media::base::PLAYER_EVENT_SWITCH_ERROR
@ PLAYER_EVENT_SWITCH_ERROR
Definition: AgoraMediaPlayerTypes.h:221
agora::media::base::PLAYER_ERROR_INVALID_ARGUMENTS
@ PLAYER_ERROR_INVALID_ARGUMENTS
Definition: AgoraMediaPlayerTypes.h:114
agora::media::base::PLAYER_PRELOAD_EVENT_ERROR
@ PLAYER_PRELOAD_EVENT_ERROR
Definition: AgoraMediaPlayerTypes.h:255
agora::media::base::PLAYER_EVENT_AUDIO_TRACK_CHANGED
@ PLAYER_EVENT_AUDIO_TRACK_CHANGED
Definition: AgoraMediaPlayerTypes.h:200
agora::media::base::PlayerStreamInfo
The information of the media stream object.
Definition: AgoraMediaPlayerTypes.h:262
agora::media::base::PLAYER_STATE_OPENING
@ PLAYER_STATE_OPENING
Definition: AgoraMediaPlayerTypes.h:60
agora::media::base::PLAYER_PRELOAD_EVENT_BEGIN
@ PLAYER_PRELOAD_EVENT_BEGIN
Definition: AgoraMediaPlayerTypes.h:249
agora::media::base::PLAYER_STATE_PLAYING
@ PLAYER_STATE_PLAYING
Definition: AgoraMediaPlayerTypes.h:66
agora::media::base::PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE
@ PLAYER_EVENT_REACH_CACHE_FILE_MAX_SIZE
Definition: AgoraMediaPlayerTypes.h:230
agora::media::base::PLAYER_EVENT_TRY_OPEN_START
@ PLAYER_EVENT_TRY_OPEN_START
Definition: AgoraMediaPlayerTypes.h:233
agora::media::base::MediaSource::provider
IMediaPlayerCustomDataProvider * provider
Definition: AgoraMediaPlayerTypes.h:465
agora::media::base::PLAYER_ERROR_CODEC_NOT_SUPPORTED
@ PLAYER_ERROR_CODEC_NOT_SUPPORTED
Definition: AgoraMediaPlayerTypes.h:132
agora::media::base::MediaSource::enableMultiAudioTrack
bool enableMultiAudioTrack
Definition: AgoraMediaPlayerTypes.h:449
agora::media::base::PLAYER_ERROR_INVALID_CONNECTION_STATE
@ PLAYER_ERROR_INVALID_CONNECTION_STATE
Definition: AgoraMediaPlayerTypes.h:144
agora::media::base::PLAYER_STATE_IDLE
@ PLAYER_STATE_IDLE
Definition: AgoraMediaPlayerTypes.h:57
agora::media::base::PLAYER_ERROR_SRC_BUFFER_UNDERFLOW
@ PLAYER_ERROR_SRC_BUFFER_UNDERFLOW
Definition: AgoraMediaPlayerTypes.h:147
agora::media::base::MediaSource
Definition: AgoraMediaPlayerTypes.h:405
agora::media::base::PLAYER_STATE_SET_TRACK_INTERNAL
@ PLAYER_STATE_SET_TRACK_INTERNAL
Definition: AgoraMediaPlayerTypes.h:99
agora::media::base::PlayerStreamInfo::videoWidth
int videoWidth
Definition: AgoraMediaPlayerTypes.h:282
agora::media::base::PLAYER_EVENT_FREEZE_STOP
@ PLAYER_EVENT_FREEZE_STOP
Definition: AgoraMediaPlayerTypes.h:212
agora::media::base::PLAYER_STATE_STOPPING_INTERNAL
@ PLAYER_STATE_STOPPING_INTERNAL
Definition: AgoraMediaPlayerTypes.h:84
agora::media::base::PlayerStreamInfo::duration
int64_t duration
Definition: AgoraMediaPlayerTypes.h:300
agora::media::base::CacheStatistics::cacheSize
int64_t cacheSize
Definition: AgoraMediaPlayerTypes.h:354
agora::media::base::STREAM_TYPE_SUBTITLE
@ STREAM_TYPE_SUBTITLE
Definition: AgoraMediaPlayerTypes.h:181
agora::media::base::MEDIA_PLAYER_METADATA_TYPE
MEDIA_PLAYER_METADATA_TYPE
The type of the media metadata.
Definition: AgoraMediaPlayerTypes.h:339
AgoraOptional.h
agora::media::base::PLAYER_EVENT_TRY_OPEN_SUCCEED
@ PLAYER_EVENT_TRY_OPEN_SUCCEED
Definition: AgoraMediaPlayerTypes.h:236
agora::media::base::PLAYER_EVENT_SWITCH_COMPLETE
@ PLAYER_EVENT_SWITCH_COMPLETE
Definition: AgoraMediaPlayerTypes.h:218
agora::media::base::PLAYER_ERROR_OBJ_NOT_INITIALIZED
@ PLAYER_ERROR_OBJ_NOT_INITIALIZED
Definition: AgoraMediaPlayerTypes.h:129
agora::media::base::MediaSource::enableCache
bool enableCache
Definition: AgoraMediaPlayerTypes.h:438
agora::media::base::IMediaPlayerCustomDataProvider::onReadData
virtual int onReadData(unsigned char *buffer, int bufferSize)=0
The player requests to read the data callback, you need to fill the specified length of data into the...
agora::media::base::PLAYER_STATE_DO_NOTHING_INTERNAL
@ PLAYER_STATE_DO_NOTHING_INTERNAL
Definition: AgoraMediaPlayerTypes.h:96
agora::media::base::PlayerStreamInfo::codecName
char codecName[kMaxCharBufferLength]
Definition: AgoraMediaPlayerTypes.h:270
agora::media::base::MediaSource::isAgoraSource
Optional< bool > isAgoraSource
Definition: AgoraMediaPlayerTypes.h:455
agora::media::base::IMediaPlayerCustomDataProvider::onSeek
virtual int64_t onSeek(int64_t offset, int whence)=0
The Player seek event callback, you need to operate the corresponding stream seek operation,...
agora::media::base::MEDIA_PLAYER_ERROR
MEDIA_PLAYER_ERROR
Player error code.
Definition: AgoraMediaPlayerTypes.h:108
agora::media::base::PLAYER_EVENT_SEEK_COMPLETE
@ PLAYER_EVENT_SEEK_COMPLETE
Definition: AgoraMediaPlayerTypes.h:194
agora::media::base::SrcInfo::name
const char * name
Definition: AgoraMediaPlayerTypes.h:331
agora::media::base::PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED
@ PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED
Definition: AgoraMediaPlayerTypes.h:75
agora::media::base::SrcInfo
The information of the media stream object.
Definition: AgoraMediaPlayerTypes.h:322
agora::media::base::PLAYER_EVENT_TRY_OPEN_FAILED
@ PLAYER_EVENT_TRY_OPEN_FAILED
Definition: AgoraMediaPlayerTypes.h:239
agora::media::base::PLAYER_METADATA_TYPE_UNKNOWN
@ PLAYER_METADATA_TYPE_UNKNOWN
Definition: AgoraMediaPlayerTypes.h:342
agora::media::base::PLAYER_PRELOAD_EVENT
PLAYER_PRELOAD_EVENT
The play preload another source event.
Definition: AgoraMediaPlayerTypes.h:246
agora::media::base::PlayerStreamInfo::videoHeight
int videoHeight
Definition: AgoraMediaPlayerTypes.h:285
agora::media::base::PLAYER_STATE_SEEKING_INTERNAL
@ PLAYER_STATE_SEEKING_INTERNAL
Definition: AgoraMediaPlayerTypes.h:87
agora::media::base::PlayerStreamInfo::audioSampleRate
int audioSampleRate
Definition: AgoraMediaPlayerTypes.h:291
agora::media::base::PlayerStreamInfo::videoFrameRate
int videoFrameRate
Definition: AgoraMediaPlayerTypes.h:276
agora::media::base::PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT
@ PLAYER_EVENT_REACH_CACHE_FILE_MAX_COUNT
Definition: AgoraMediaPlayerTypes.h:227
agora::media::base::PLAYER_EVENT_SEEK_BEGIN
@ PLAYER_EVENT_SEEK_BEGIN
Definition: AgoraMediaPlayerTypes.h:191
agora::media::base::PlayerUpdatedInfo::deviceId
Optional< const char * > deviceId
Definition: AgoraMediaPlayerTypes.h:367
agora::media::base::PLAYER_EVENT_FREEZE_START
@ PLAYER_EVENT_FREEZE_START
Definition: AgoraMediaPlayerTypes.h:209
agora::media::base::PLAYER_ERROR_VIDEO_RENDER_FAILED
@ PLAYER_ERROR_VIDEO_RENDER_FAILED
Definition: AgoraMediaPlayerTypes.h:135
agora::media::base::PlayerStreamInfo::videoBitRate
int videoBitRate
Definition: AgoraMediaPlayerTypes.h:279
agora::media::base::PLAYER_STATE_NONE_INTERNAL
@ PLAYER_STATE_NONE_INTERNAL
Definition: AgoraMediaPlayerTypes.h:93
agora::media::base::PlayerStreamInfo::language
char language[kMaxCharBufferLength]
Definition: AgoraMediaPlayerTypes.h:273
agora::media::base::PlayerStreamInfo::streamType
MEDIA_STREAM_TYPE streamType
Definition: AgoraMediaPlayerTypes.h:267
agora::media::base::PLAYER_ERROR_NO_RESOURCE
@ PLAYER_ERROR_NO_RESOURCE
Definition: AgoraMediaPlayerTypes.h:120
agora::media::base::kMaxCharBufferLength
static const uint8_t kMaxCharBufferLength
Definition: AgoraMediaPlayerTypes.h:49
agora::media::base::PLAYER_EVENT_BUFFER_RECOVER
@ PLAYER_EVENT_BUFFER_RECOVER
Definition: AgoraMediaPlayerTypes.h:206
agora::media::base::PLAYER_ERROR_INVALID_STATE
@ PLAYER_ERROR_INVALID_STATE
Definition: AgoraMediaPlayerTypes.h:138
agora::media::base::STREAM_TYPE_AUDIO
@ STREAM_TYPE_AUDIO
Definition: AgoraMediaPlayerTypes.h:178
agora::media::base::PlayerStreamInfo::audioBitsPerSample
int audioBitsPerSample
Definition: AgoraMediaPlayerTypes.h:297
agora::media::base::PlayerUpdatedInfo::cacheStatistics
Optional< CacheStatistics > cacheStatistics
Definition: AgoraMediaPlayerTypes.h:371
agora::media::base::PLAYER_EVENT_FIRST_DISPLAYED
@ PLAYER_EVENT_FIRST_DISPLAYED
Definition: AgoraMediaPlayerTypes.h:224
agora::Optional< const char * >
agora::media::base::PlayerStreamInfo::audioChannels
int audioChannels
Definition: AgoraMediaPlayerTypes.h:294
agora::media::base::MediaSource::MediaSource
MediaSource()
Definition: AgoraMediaPlayerTypes.h:467
agora::media::base::PlayerStreamInfo::streamIndex
int streamIndex
Definition: AgoraMediaPlayerTypes.h:264
agora::media::base::STREAM_TYPE_VIDEO
@ STREAM_TYPE_VIDEO
Definition: AgoraMediaPlayerTypes.h:175
agora::media::base::MediaSource::startPos
int64_t startPos
Definition: AgoraMediaPlayerTypes.h:420