Agora Java API Reference for Android
NGIAgoraRtmpUser.h
1 //
2 // Agora RTMP connection
3 //
4 // Created by Haonong Yu in 2020-02.
5 // Copyright (c) 2020 Agora.io. All rights reserved.
6 //
7 
8 #pragma once // NOLINT(build/header_guard)
9 
10 #include "AgoraStreamingBase.h"
11 #include "IAgoraStreamingKit.h"
12 #include "api2/NGIAgoraAudioTrack.h"
13 #include "api2/NGIAgoraVideoTrack.h"
14 
15 namespace agora {
16 namespace rtmp {
17 
21 enum PublishAudioError {
25  PUBLISH_AUDIO_ERR_OK = 0,
26 
30  PUBLISH_AUDIO_ERR_FAILED = 1,
31 };
32 
36 enum PublishVideoError {
40  PUBLISH_VIDEO_ERR_OK = 0,
41 
45  PUBLISH_VIDEO_ERR_FAILED = 1,
46 };
47 
52  public:
53  virtual ~IRtmpUserObserver() {}
54 
61  virtual void onAudioTrackPublishSuccess(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
62 
69  virtual void onAudioTrackPublicationFailure(agora_refptr<rtc::ILocalAudioTrack> audioTrack,
70  PublishAudioError error) = 0;
71 
77  virtual void onVideoTrackPublishSuccess(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
78 
85  virtual void onVideoTrackPublicationFailure(agora_refptr<rtc::ILocalVideoTrack> videoTrack,
86  PublishVideoError error) = 0;
87 };
88 
96 class IRtmpUser {
97  public:
98  virtual ~IRtmpUser() {}
99 
109 
119 
128  virtual int publishAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
129 
138  virtual int unpublishAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
139 
148  virtual int publishVideo(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
149 
157  virtual int unpublishVideo(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
158 
170  virtual int registerRtmpUserObserver(IRtmpUserObserver* observer) = 0;
171 
180  virtual int unregisteRtmpUserObserver(IRtmpUserObserver* observer) = 0;
190  virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver* observer) = 0;
191 
197  virtual void unregisterAudioFrameObserver(media::base::IAudioFrameObserver* observer) = 0;
198 
208  virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0;
209 
215  virtual void unregisterVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0;
216 
227  virtual int snapshot(agora::streaming::ISnapshotCallback* callback) = 0;
228 
229 };
230 
231 } // namespace rtmp
232 } // namespace agora
agora::rtmp::IRtmpUser::setAudioStreamConfiguration
virtual int setAudioStreamConfiguration(const streaming::AudioStreamConfiguration &config)=0
agora::rtmp::IRtmpUser::unregisterVideoFrameObserver
virtual void unregisterVideoFrameObserver(media::base::IVideoFrameObserver *observer)=0
agora::rtmp::IRtmpUser::registerAudioFrameObserver
virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
agora::rtmp::IRtmpUser
Definition: NGIAgoraRtmpUser.h:96
agora::streaming::VideoStreamConfiguration
Definition: AgoraStreamingBase.h:85
agora::streaming::AudioStreamConfiguration
Definition: AgoraStreamingBase.h:56
agora::rtmp::IRtmpUserObserver::onAudioTrackPublishSuccess
virtual void onAudioTrackPublishSuccess(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
agora::rtmp::IRtmpUserObserver
Definition: NGIAgoraRtmpUser.h:51
agora::rtmp::IRtmpUser::registerVideoFrameObserver
virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver *observer)=0
agora::rtmp::IRtmpUser::setVideoStreamConfiguration
virtual int setVideoStreamConfiguration(const streaming::VideoStreamConfiguration &config)=0
agora::rtmp::IRtmpUser::publishAudio
virtual int publishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
agora::rtmp::IRtmpUser::snapshot
virtual int snapshot(agora::streaming::ISnapshotCallback *callback)=0
agora::rtmp::IRtmpUserObserver::onVideoTrackPublicationFailure
virtual void onVideoTrackPublicationFailure(agora_refptr< rtc::ILocalVideoTrack > videoTrack, PublishVideoError error)=0
agora::rtmp::IRtmpUserObserver::onAudioTrackPublicationFailure
virtual void onAudioTrackPublicationFailure(agora_refptr< rtc::ILocalAudioTrack > audioTrack, PublishAudioError error)=0
agora::rtmp::IRtmpUser::unregisterAudioFrameObserver
virtual void unregisterAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
agora::rtmp::IRtmpUser::unpublishAudio
virtual int unpublishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
agora::streaming::ISnapshotCallback
Definition: IAgoraStreamingKit.h:838
agora::rtmp::IRtmpUser::unregisteRtmpUserObserver
virtual int unregisteRtmpUserObserver(IRtmpUserObserver *observer)=0
agora::rtmp::IRtmpUser::registerRtmpUserObserver
virtual int registerRtmpUserObserver(IRtmpUserObserver *observer)=0
agora::rtmp::IRtmpUser::publishVideo
virtual int publishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
agora::rtmp::IRtmpUser::unpublishVideo
virtual int unpublishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
agora::rtmp::IRtmpUserObserver::onVideoTrackPublishSuccess
virtual void onVideoTrackPublishSuccess(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0