Agora C++ API Reference for All Platforms
media_player_source_i.h
1 //
2 // Agora RTC/MEDIA SDK
3 //
4 // Created by Pengfei Han in 2019-11.
5 // Copyright (c) 2019 Agora.io. All rights reserved.
6 //
7 #pragma once
8 
9 #include <memory>
10 
11 #include "AgoraRefPtr.h"
12 
13 #include "IAgoraMediaPlayerSource.h"
14 #include "NGIAgoraMediaNodeFactory.h"
15 #include "NGIAgoraMediaNode.h"
16 
17 
18 
19 namespace agora {
20 namespace base {
21 class BaseWorker;
22 class IAgoraService;
23 } // namespace base
24 
25 namespace rtc {
26 
28  protected:
29  virtual ~IMediaPlayerSourceEx() = default;
30 
31  public:
34 
37  virtual void setRenderLastVideoFrame(bool set_black_frame) = 0;
38  virtual bool showBlackFrameWhenStop() = 0;
39  virtual int64_t getFirstAudioFramePts() = 0;
40  virtual int64_t getFirstVideoFramePts() = 0;
41  virtual int getPlayerOption(const char* key, int64_t& value) = 0;
42  virtual int registerPlayerSourceObserverEx(IMediaPlayerSourceObserver* observer, bool internal) = 0;
44  return registerPlayerSourceObserverEx(observer, false);
45  }
46  virtual void onPlayerSourceObserverCallback(std::function<void(IMediaPlayerSourceObserver*)>&& task) = 0;
47 };
48 
49 } // namespace rtc
50 } // namespace agora
agora::base::IAgoraService
Definition: IAgoraService.h:395
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:1153
agora::rtc::IMediaPlayerSourceEx::getPlayerOption
virtual int getPlayerOption(const char *key, int64_t &value)=0
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:1159
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IMediaPlayerSource
Definition: IAgoraMediaPlayerSource.h:22
agora::rtc::IMediaPlayerSourceEx::onPlayerSourceObserverCallback
virtual void onPlayerSourceObserverCallback(std::function< void(IMediaPlayerSourceObserver *)> &&task)=0
agora::rtc::IMediaPlayerSourceObserver
Definition: IAgoraMediaPlayerSource.h:380
agora::rtc::IMediaPlayerSourceEx::setRenderLastVideoFrame
virtual void setRenderLastVideoFrame(bool set_black_frame)=0
agora::rtc::IMediaPlayerSourceEx::getFirstAudioFramePts
virtual int64_t getFirstAudioFramePts()=0
agora::rtc::IMediaPlayerSourceEx::registerPlayerSourceObserver
int registerPlayerSourceObserver(IMediaPlayerSourceObserver *observer) final
Definition: media_player_source_i.h:43
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IMediaPlayerSourceEx::getVideoFrameSender
virtual agora_refptr< rtc::IVideoFrameSender > getVideoFrameSender()=0
agora::rtc::IMediaPlayerSourceEx
Definition: media_player_source_i.h:27
agora::rtc::IMediaPlayerSourceEx::showBlackFrameWhenStop
virtual bool showBlackFrameWhenStop()=0
agora::rtc::IMediaPlayerSourceEx::registerPlayerSourceObserverEx
virtual int registerPlayerSourceObserverEx(IMediaPlayerSourceObserver *observer, bool internal)=0
agora::rtc::IMediaPlayerSourceEx::getAudioPcmDataSender
virtual agora_refptr< rtc::IAudioPcmDataSender > getAudioPcmDataSender()=0
agora::rtc::IMediaPlayerSourceEx::getFirstVideoFramePts
virtual int64_t getFirstVideoFramePts()=0
agora::rtc::IMediaPlayerSourceEx::~IMediaPlayerSourceEx
virtual ~IMediaPlayerSourceEx()=default
agora::rtc::IMediaPlayerSourceEx::Create
static agora_refptr< IMediaPlayerSourceEx > Create(base::IAgoraService *agora_service, media::base::MEDIA_PLAYER_SOURCE_TYPE type=media::base::MEDIA_PLAYER_SOURCE_DEFAULT)
rtc
Definition: video_node_i.h:28