1+ #pragma once
2+
3+ #include " AgoraBase.h"
4+ #include " AgoraMediaBase.h"
5+ #include " IAgoraMediaPlayer.h"
6+
7+ namespace agora {
8+ namespace rtc {
9+
10+ // Put this class to the agora::rtc namespaces to avoid unecessary namespace trimming(trim the `ext` namespace).
11+ class IMediaPlayerVideoFrameObserver {
12+ virtual void onFrame (const agora::media::base::VideoFrame *frame) = 0;
13+ };
14+
15+ namespace ext {
16+
17+ class IMediaPlayer {
18+ // ----------------------------- 👇🏻overload API👇🏻 -----------------------------
19+
20+ /* *
21+ * @iris_api_id: MediaPlayer_setPlayerOption_4d05d29
22+ * @source: virtual int setPlayerOption(const char* key, int value) = 0;
23+ */
24+ virtual int setPlayerOptionInInt (const char *key, int value) = 0;
25+
26+ /* *
27+ * @iris_api_id: MediaPlayer_setPlayerOption_ccad422
28+ * @source: virtual int setPlayerOption(const char* key, char* value) = 0;
29+ */
30+ virtual int setPlayerOptionInString (const char *key, const char *value) = 0;
31+
32+ /* *
33+ * @iris_api_id: MediaPlayer_registerAudioFrameObserver_a5b510b
34+ * @source: virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0;
35+ */
36+ virtual int
37+ registerAudioFrameObserver (media::IAudioPcmFrameSink* observer,
38+ RAW_AUDIO_FRAME_OP_MODE_TYPE mode = RAW_AUDIO_FRAME_OP_MODE_TYPE::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY) = 0 ;
39+
40+ // ----------------------------- 👆🏻overload API👆🏻 -----------------------------
41+
42+ // ----------------------------- 👇🏻rename API👇🏻 -----------------------------
43+
44+ /* *
45+ * @iris_api_id: MediaPlayer_registerVideoFrameObserver_833bd8d
46+ * @source: virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0;
47+ */
48+ virtual int
49+ registerVideoFrameObserver (IMediaPlayerVideoFrameObserver *observer) = 0 ;
50+
51+ /* *
52+ * @iris_api_id: MediaPlayer_unregisterVideoFrameObserver_5165d4c
53+ * @source: virtual int unregisterVideoFrameObserver(agora::media::base::IVideoFrameObserver* observer) = 0;
54+ */
55+ virtual int
56+ unregisterVideoFrameObserver (IMediaPlayerVideoFrameObserver *observer) = 0 ;
57+
58+ // ----------------------------- 👆🏻rename API👆🏻 -----------------------------
59+ };
60+
61+ } // namespace ext
62+ } // namespace rtc
63+ } // namespace agora
0 commit comments