Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
IAgoraMediaPlayerSource.h
1//
2// Agora SDK
3//
4// Copyright (c) 2018 Agora.io. All rights reserved.
5//
6#pragma once // NOLINT(build/header_guard)
7
8#include "AgoraBase.h"
9#include "AgoraMediaBase.h"
10#include "AgoraMediaPlayerTypes.h"
11#include "AgoraRefPtr.h"
12
13namespace agora {
14namespace rtc {
15
17
23protected:
25
26public:
27
34 virtual int getSourceId() const = 0;
35
44 virtual int open(const char* url, int64_t startPos) = 0;
45
53 virtual int openWithMediaSource(const media::base::MediaSource &source) = 0;
54
61 virtual int play() = 0;
62
69 virtual int pause() = 0;
70
77 virtual int stop() = 0;
78
85 virtual int resume() = 0;
86
94 virtual int seek(int64_t newPos) = 0;
95
103 virtual int getDuration(int64_t& duration) = 0;
104
112 virtual int getPlayPosition(int64_t& pos) = 0;
113
121 virtual int getStreamCount(int64_t& count) = 0;
122
131 virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo* info) = 0;
132
143 virtual int setLoopCount(int64_t loopCount) = 0;
144
152 virtual int setPlaybackSpeed(int speed) = 0;
153
161 virtual int selectAudioTrack(int64_t index) = 0;
162
178 virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex) = 0;
179
188 virtual int setPlayerOption(const char* key, int64_t value) = 0;
189
198 virtual int setPlayerOption(const char* key, const char* value) = 0;
199
207 virtual int takeScreenshot(const char* filename) = 0;
208
216 virtual int selectInternalSubtitle(int64_t index) = 0;
217
225 virtual int setExternalSubtitle(const char* url) = 0;
226
232
243
252
262
271
283 virtual int openWithAgoraCDNSrc(const char* src, int64_t startPos) = 0;
284
294 virtual int getAgoraCDNLineCount() = 0;
295
296
307 virtual int switchAgoraCDNLineByIndex(int index) = 0;
308
318 virtual int getCurrentAgoraCDNIndex() = 0;
319
330 virtual int enableAutoSwitchAgoraCDN(bool enable) = 0;
331
343 virtual int renewAgoraCDNSrcToken(const char* token, int64_t ts) = 0;
344
356 virtual int switchAgoraCDNSrc(const char* src, bool syncPts = false) = 0;
357
366 virtual int switchSrc(const char* src, bool syncPts) = 0;
367
376 virtual int preloadSrc(const char* src, int64_t startPos) = 0;
377
385 virtual int unloadSrc(const char* src) = 0;
386
394 virtual int playPreloadedSrc(const char* src) = 0;
395
396};
397
402 public:
404
418
430 virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs) = 0;
431
444 virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char* message) = 0;
445
457 virtual void onMetaData(const void* data, int length) = 0;
458
459
474 virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0;
475
476
484 virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0;
485
489 virtual void onCompleted() = 0;
490
497 virtual void onAgoraCDNTokenWillExpire() = 0;
498
508 virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0;
509
521
533 (void)stats;
534 }
535
547 (void)stats;
548 }
549
560 virtual void onAudioVolumeIndication(int volume) = 0;
561};
562
563} //namespace rtc
564} // namespace agora
Definition AgoraRefPtr.h:31
Definition AgoraMediaBase.h:1395
Definition IAgoraMediaPlayerSource.h:22
virtual int selectInternalSubtitle(int64_t index)=0
virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver *observer)=0
virtual media::base::MEDIA_PLAYER_STATE getState()=0
virtual int openWithMediaSource(const media::base::MediaSource &source)=0
virtual int getSourceId() const =0
virtual int openWithAgoraCDNSrc(const char *src, int64_t startPos)=0
virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex)=0
virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver *observer)=0
virtual int takeScreenshot(const char *filename)=0
virtual int preloadSrc(const char *src, int64_t startPos)=0
virtual ~IMediaPlayerSource()
Definition IAgoraMediaPlayerSource.h:24
virtual int getDuration(int64_t &duration)=0
virtual int setPlayerOption(const char *key, int64_t value)=0
virtual int setPlaybackSpeed(int speed)=0
virtual int renewAgoraCDNSrcToken(const char *token, int64_t ts)=0
virtual int playPreloadedSrc(const char *src)=0
virtual int switchSrc(const char *src, bool syncPts)=0
virtual int unloadSrc(const char *src)=0
virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo *info)=0
virtual int switchAgoraCDNLineByIndex(int index)=0
virtual int setExternalSubtitle(const char *url)=0
virtual int getAgoraCDNLineCount()=0
virtual int setLoopCount(int64_t loopCount)=0
virtual int open(const char *url, int64_t startPos)=0
virtual int enableAutoSwitchAgoraCDN(bool enable)=0
virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink *observer)=0
virtual int seek(int64_t newPos)=0
virtual int selectAudioTrack(int64_t index)=0
virtual int getPlayPosition(int64_t &pos)=0
virtual int setPlayerOption(const char *key, const char *value)=0
virtual int switchAgoraCDNSrc(const char *src, bool syncPts=false)=0
virtual int unregisterAudioFrameObserver(media::IAudioPcmFrameSink *observer)=0
virtual int getStreamCount(int64_t &count)=0
virtual int getCurrentAgoraCDNIndex()=0
Definition IAgoraMediaPlayerSource.h:401
virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state, media::base::MEDIA_PLAYER_REASON reason)=0
Reports the changes of playback state.
virtual ~IMediaPlayerSourceObserver()
Definition IAgoraMediaPlayerSource.h:403
virtual void onAgoraCDNTokenWillExpire()=0
AgoraCDN Token has expired and needs to be set up with renewAgoraCDNSrcToken(const char* src).
virtual void onPlayerPlaybackStats(const media::base::PlayerPlaybackStats &stats)
The statistics of the media file being played.
Definition IAgoraMediaPlayerSource.h:546
virtual void onPlayBufferUpdated(int64_t playCachedBuffer)=0
Reports the playback duration that the buffered data can support.
virtual void onPlayerCacheStats(const media::base::CacheStatistics &stats)
Reports the statistics of the media file being cached.
Definition IAgoraMediaPlayerSource.h:532
virtual void onPreloadEvent(const char *src, media::base::PLAYER_PRELOAD_EVENT event)=0
Reports the events of preloaded media resources.
virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char *message)=0
Reports the player events.
virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo &info)=0
Occurs when information related to the media player changes.
virtual void onMetaData(const void *data, int length)=0
Occurs when the media metadata is received.
virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo &from, const media::base::SrcInfo &to)=0
Occurs when the video bitrate of the media resource changes.
virtual void onCompleted()=0
Occurs when one playback of the media file is completed.
virtual void onAudioVolumeIndication(int volume)=0
Reports the volume of the media player.
virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs)=0
Reports the playback progress of the media file.
MEDIA_PLAYER_EVENT
Media player events.
Definition AgoraMediaPlayerTypes.h:214
PLAYER_PRELOAD_EVENT
Events that occur when media resources are preloaded.
Definition AgoraMediaPlayerTypes.h:289
MEDIA_PLAYER_STATE
The playback state.
Definition AgoraMediaPlayerTypes.h:53
MEDIA_PLAYER_REASON
Reasons for the changes in the media player status.
Definition AgoraMediaPlayerTypes.h:116
Definition AgoraExtensions.h:5
Definition AgoraAtomicOps.h:21
Statistics about the media files being cached.
Definition AgoraMediaPlayerTypes.h:423
Information related to the media file to be played and the playback scenario configurations.
Definition AgoraMediaPlayerTypes.h:560
The information of the media file being played.
Definition AgoraMediaPlayerTypes.h:441
The detailed information of the media stream.
Definition AgoraMediaPlayerTypes.h:307
Information related to the media player.
Definition AgoraMediaPlayerTypes.h:463
Information about the video bitrate of the media resource being played.
Definition AgoraMediaPlayerTypes.h:393