Agora Java API Reference for Android
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 
14 #include "video_node_i.h"
15 
16 namespace agora {
17 namespace rtc {
18 
20  public:
21  virtual ~IMediaNodeFactoryEx() {}
22 
26 
39  media::IVideoFrameObserver* observer, VideoTrackInfo trackInfo, IRtcEngineEventHandler* eventHandler = nullptr) = 0;
40 
53  media::IVideoFrameObserver* observer, VideoTrackInfo trackInfo, IRtcEngineEventHandler* eventHandler = nullptr) = 0;
54 };
55 
57  public:
58  virtual ~IMediaPacketCallback() {}
59 
60  virtual void OnMediaPacket(const uint8_t *packet, size_t length,
61  const media::base::PacketOptions &options) = 0;
62 };
63 
65  public:
66  virtual ~IMediaPacketSenderEx() {}
67 
68  virtual void RegisterMediaPacketCallback(IMediaPacketCallback* dataCallback) = 0;
69  virtual void UnregisterMediaPacketCallback() = 0;
70 };
71 
73  public:
74  virtual ~IMediaControlPacketCallback() {}
75 
76  virtual void OnPeerMediaControlPacket(user_id_t userId, const uint8_t *packet, size_t length) = 0;
77  virtual void OnBroadcastMediaControlPacket(const uint8_t *packet, size_t length) = 0;
78 };
79 
81  public:
82  virtual ~IMediaControlPacketSenderEx() {}
83 
84  virtual void RegisterMediaControlPacketCallback(IMediaControlPacketCallback* ctrlDataCallback) = 0;
85  virtual void UnregisterMediaControlPacketCallback() = 0;
86 };
87 
88 } // namespace rtc
89 } // namespace agora
agora::rtc::IMediaNodeFactoryEx::createObservableVideoSink
virtual agora_refptr< rtc::IVideoSinkBase > createObservableVideoSink(media::IVideoFrameObserver *observer, VideoTrackInfo trackInfo, IRtcEngineEventHandler *eventHandler=nullptr)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::media::IVideoFrameObserver
Definition: AgoraMediaBase.h:730
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:836
agora::rtc::IMediaPacketSender
Definition: NGIAgoraMediaNode.h:341
agora::rtc::IMediaNodeFactory
Definition: NGIAgoraMediaNodeFactory.h:35
agora::rtc::IMediaNodeFactoryEx::createVideoFrameAdapter
virtual agora_refptr< IVideoFrameAdapter > createVideoFrameAdapter()=0
agora::media::base::PacketOptions
Definition: AgoraMediaBase.h:126
agora::rtc::IMediaNodeFactoryEx::createObservableVideoFilter
virtual agora_refptr< rtc::IVideoFilter > createObservableVideoFilter(media::IVideoFrameObserver *observer, VideoTrackInfo trackInfo, IRtcEngineEventHandler *eventHandler=nullptr)=0
agora::rtc::IMediaControlPacketCallback
Definition: media_node_factory_i.h:72
agora::rtc::IMediaPacketSenderEx
Definition: media_node_factory_i.h:64
agora::rtc::IMediaControlPacketSenderEx
Definition: media_node_factory_i.h:80
agora::rtc::IMediaControlPacketSender
Definition: NGIAgoraMediaNode.h:367
agora::rtc::VideoTrackInfo
Definition: AgoraBase.h:2745
agora::rtc::IMediaPacketCallback
Definition: media_node_factory_i.h:56
agora::rtc::IMediaNodeFactoryEx
Definition: media_node_factory_i.h:19