Agora Java API Reference for Android
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 
15 namespace agora {
16 namespace base {
17 class BaseWorker;
18 class IAgoraService;
19 } // namespace base
20 
21 namespace rtc {
22 
24  protected:
25  virtual ~IMediaPlayerSourceEx() = default;
26 
27  public:
28  static agora_refptr<IMediaPlayerSource> Create(base::IAgoraService *agora_service,
29  std::shared_ptr<base::BaseWorker> player_worker,
30  media::base::MEDIA_PLAYER_SOURCE_TYPE type = media::base::MEDIA_PLAYER_SOURCE_DEFAULT);
31 
32  virtual agora_refptr<rtc::IAudioPcmDataSender> getAudioPcmDataSender() = 0;
33  virtual agora_refptr<rtc::IVideoFrameSender> getVideoFrameSender() = 0;
34  virtual void setRenderLastVideoFrame(bool set_black_frame) = 0;
35  virtual bool showBlackFrameWhenStop() = 0;
36 };
37 
38 } // namespace rtc
39 } // namespace agora
agora::base::IAgoraService
Definition: IAgoraService.h:418
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IMediaPlayerSource
Definition: IAgoraMediaPlayerSource.h:22
agora::rtc::IMediaPlayerSourceEx
Definition: media_player_source_i.h:23