Agora C++ API Reference for All Platforms
media_node_factory_i.h
1 //
2 // Agora Media SDK
3 //
4 // Created by Sting Feng in 2015-05.
5 // Copyright (c) 2015 Agora IO. All rights reserved.
6 //
7 #pragma once
8 
9 #include "AgoraRefPtr.h"
10 #include "IAgoraRtcEngine.h"
11 
12 #include "NGIAgoraMediaNodeFactory.h"
13 // #include "engine_adapter/audio/audio_node_interface.h"
14 
15 #include "video_node_i.h"
16 #include "screen_capture_i.h"
17 
18 namespace agora {
19 namespace rtc {
20 
22  public:
23  virtual ~IMediaNodeFactoryEx() {}
24 
28 
41  media::IVideoFrameObserver* observer, VideoTrackInfo trackInfo) = 0;
42 
55  media::IVideoFrameObserver* observer, VideoTrackInfo trackInfo) = 0;
57 #if !(defined(__ANDROID__) || (defined (TARGET_OS_IPHONE) && TARGET_OS_IPHONE))
59 #endif
65  virtual agora_refptr<IAudioFilter> createAudioFilterLLApiInternal(const char* provider_name, const char* extension_name) = 0;
66  virtual agora_refptr<IVideoFilter> createVideoFilterLLApiInternal(const char* provider_name, const char* extension_name) = 0;
67  virtual agora_refptr<IVideoSinkBase> createVideoSinkLLApiInternal(const char* provider_name, const char* extension_name) = 0;
73  #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
74  virtual agora_refptr<IScreenCapturerEx2> createScreenCapturer2LLApiInternal(const char* provider_name, const char* extension_name) = 0;
75  #else
76  virtual agora_refptr<IScreenCapturerEx> createScreenCapturerLLApiInternal(const char* provider_name, const char* extension_name) = 0;
77  #endif
78 };
79 
81  public:
82  virtual ~IMediaPacketCallback() {}
83 
84  virtual void OnMediaPacket(const uint8_t *packet, size_t length,
85  const media::base::PacketOptions &options) = 0;
86 };
87 
89  public:
90  virtual ~IMediaPacketSenderEx() {}
91 
92  virtual void RegisterMediaPacketCallback(IMediaPacketCallback* dataCallback) = 0;
93  virtual void UnregisterMediaPacketCallback() = 0;
94 };
95 
97  public:
99 
100  virtual void OnPeerMediaControlPacket(user_id_t userId, const uint8_t *packet, size_t length) = 0;
101  virtual void OnBroadcastMediaControlPacket(const uint8_t *packet, size_t length) = 0;
102 };
103 
105  public:
107 
110  virtual int sendBroadcastMediaControlPacketLLApiInternal(const uint8_t* packet, size_t length) = 0;
111 };
112 
113 } // namespace rtc
114 } // namespace agora
agora::rtc::IMediaNodeFactoryEx::createObservableVideoFilter
virtual agora_refptr< rtc::IObservableVideoFilter > createObservableVideoFilter(media::IVideoFrameObserver *observer, VideoTrackInfo trackInfo)=0
agora::rtc::IMediaControlPacketSenderEx::RegisterMediaControlPacketCallback
virtual void RegisterMediaControlPacketCallback(IMediaControlPacketCallback *ctrlDataCallback)=0
agora::rtc::IMediaNodeFactoryEx::createScreenCapturer2LLApiInternal
virtual agora_refptr< IScreenCapturerEx2 > createScreenCapturer2LLApiInternal(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactoryEx::createAudioEncodedFrameSenderLLApiInternal
virtual agora_refptr< IAudioEncodedFrameSender > createAudioEncodedFrameSenderLLApiInternal()=0
agora::rtc::IMediaNodeFactoryEx::createMediaStreamingSourceLLApiInternal
virtual agora_refptr< rtc::IMediaStreamingSource > createMediaStreamingSourceLLApiInternal()=0
agora::rtc::IMediaControlPacketCallback::OnBroadcastMediaControlPacket
virtual void OnBroadcastMediaControlPacket(const uint8_t *packet, size_t length)=0
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:1153
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IMediaNodeFactoryEx::createScreenCapturerLLApiInternal
virtual agora_refptr< IScreenCapturerEx > createScreenCapturerLLApiInternal()=0
agora::rtc::IMediaPacketSenderEx::RegisterMediaPacketCallback
virtual void RegisterMediaPacketCallback(IMediaPacketCallback *dataCallback)=0
agora::media::IVideoFrameObserver
Definition: AgoraMediaBase.h:1575
agora::user_id_t
const char * user_id_t
Definition: AgoraBase.h:806
agora::rtc::IMediaNodeFactoryEx::createMediaPacketSenderLLApiInternal
virtual agora_refptr< IMediaPacketSender > createMediaPacketSenderLLApiInternal()=0
agora::rtc::IMediaControlPacketSenderEx::UnregisterMediaControlPacketCallback
virtual void UnregisterMediaControlPacketCallback()=0
agora::rtc::IMediaNodeFactoryEx::createCameraCapturerLLApiInternal
virtual agora_refptr< ICameraCapturerEx > createCameraCapturerLLApiInternal()=0
agora::rtc::IMediaControlPacketSenderEx::sendBroadcastMediaControlPacketLLApiInternal
virtual int sendBroadcastMediaControlPacketLLApiInternal(const uint8_t *packet, size_t length)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IMediaPacketSenderEx::UnregisterMediaPacketCallback
virtual void UnregisterMediaPacketCallback()=0
agora::rtc::IMediaNodeFactoryEx::createVideoSinkLLApiInternal
virtual agora_refptr< IVideoSinkBase > createVideoSinkLLApiInternal(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaPacketSender
Definition: NGIAgoraMediaNode.h:649
agora::rtc::IMediaControlPacketCallback::OnPeerMediaControlPacket
virtual void OnPeerMediaControlPacket(user_id_t userId, const uint8_t *packet, size_t length)=0
agora::rtc::IMediaPacketCallback::~IMediaPacketCallback
virtual ~IMediaPacketCallback()
Definition: media_node_factory_i.h:82
agora::rtc::IMediaNodeFactoryEx::~IMediaNodeFactoryEx
virtual ~IMediaNodeFactoryEx()
Definition: media_node_factory_i.h:23
agora::rtc::IMediaNodeFactoryEx::createAudioFilterLLApiInternal
virtual agora_refptr< IAudioFilter > createAudioFilterLLApiInternal(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactoryEx::createVideoFilterLLApiInternal
virtual agora_refptr< IVideoFilter > createVideoFilterLLApiInternal(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactoryEx::createObservableVideoSink
virtual agora_refptr< rtc::IObservableVideoSink > createObservableVideoSink(media::IVideoFrameObserver *observer, VideoTrackInfo trackInfo)=0
agora::rtc::IMediaNodeFactory
Definition: NGIAgoraMediaNodeFactory.h:37
agora::rtc::IMediaNodeFactoryEx::createVideoFrameAdapter
virtual agora_refptr< IVideoFrameAdapter > createVideoFrameAdapter()=0
agora::rtc::IMediaPacketSenderEx::~IMediaPacketSenderEx
virtual ~IMediaPacketSenderEx()
Definition: media_node_factory_i.h:90
agora::media::base::PacketOptions
Definition: AgoraMediaBase.h:364
agora::rtc::IMediaNodeFactoryEx::createScreenCapturerLLApiInternal
virtual agora_refptr< IScreenCapturerEx > createScreenCapturerLLApiInternal(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaControlPacketCallback
Definition: media_node_factory_i.h:96
agora::rtc::IMediaControlPacketSenderEx::~IMediaControlPacketSenderEx
virtual ~IMediaControlPacketSenderEx()
Definition: media_node_factory_i.h:106
agora::rtc::IMediaPacketSenderEx
Definition: media_node_factory_i.h:88
agora::rtc::IMediaNodeFactoryEx::createAudioPcmDataSenderLLApiInternal
virtual agora_refptr< IAudioPcmDataSender > createAudioPcmDataSenderLLApiInternal()=0
agora::rtc::IMediaPacketCallback::OnMediaPacket
virtual void OnMediaPacket(const uint8_t *packet, size_t length, const media::base::PacketOptions &options)=0
agora::rtc::IMediaNodeFactoryEx::createVideoFrameTransceiverLLApiInternal
virtual agora_refptr< IVideoFrameTransceiverEx > createVideoFrameTransceiverLLApiInternal()=0
agora::rtc::IMediaNodeFactoryEx::createVideoEncodedImageSenderLLApiInternal
virtual agora::agora_refptr< agora::rtc::IVideoEncodedImageSenderEx > createVideoEncodedImageSenderLLApiInternal()=0
agora::rtc::IMediaControlPacketSenderEx
Definition: media_node_factory_i.h:104
agora::rtc::IMediaControlPacketSender
Definition: NGIAgoraMediaNode.h:675
agora::rtc::IMediaNodeFactoryEx::createMediaPlayerSourceLLApiInternal
virtual agora_refptr< rtc::IMediaPlayerSource > createMediaPlayerSourceLLApiInternal(media::base::MEDIA_PLAYER_SOURCE_TYPE type)=0
agora::rtc::VideoTrackInfo
Definition: AgoraBase.h:3248
agora::rtc::IMediaNodeFactoryEx::createVideoMixerLLApiInternal
virtual agora_refptr< IVideoMixerSourceEx > createVideoMixerLLApiInternal()=0
agora::rtc::IMediaPacketCallback
Definition: media_node_factory_i.h:80
agora::rtc::IMediaNodeFactoryEx
Definition: media_node_factory_i.h:21
rtc
Definition: video_node_i.h:28
agora::rtc::IMediaNodeFactoryEx::createVideoFrameSenderLLApiInternal
virtual agora_refptr< IVideoFrameSenderEx > createVideoFrameSenderLLApiInternal()=0
agora::rtc::IMediaNodeFactoryEx::createVideoRendererLLApiInternal
virtual agora_refptr< IVideoRenderer > createVideoRendererLLApiInternal()=0
agora::rtc::IMediaControlPacketCallback::~IMediaControlPacketCallback
virtual ~IMediaControlPacketCallback()
Definition: media_node_factory_i.h:98