Agora Java API Reference for Android
NGIAgoraRtmpLocalUser.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 "NGIAgoraAudioTrack.h"
11 #include "NGIAgoraVideoTrack.h"
12 
13 namespace agora {
14 namespace rtc {
15 
16 struct RtmpStreamingAudioConfiguration;
17 struct RtmpStreamingVideoConfiguration;
18 
22 enum PublishAudioError {
26  PUBLISH_AUDIO_ERR_OK = 0,
27 
31  PUBLISH_AUDIO_ERR_FAILED = 1,
32 };
33 
37 enum PublishVideoError {
41  PUBLISH_VIDEO_ERR_OK = 0,
42 
46  PUBLISH_VIDEO_ERR_FAILED = 1,
47 };
48 
53  public:
54  virtual ~IRtmpLocalUserObserver() {}
55 
63 
71  PublishAudioError error) = 0;
72 
79 
87  PublishVideoError error) = 0;
88 };
89 
98  public:
99 
100  enum VideoBitrateAdjustType {
101  None = 0,
102  Increasing = 1, // The buffer is in good declining state to increase bitrate
103  Decreasing = 2, // The buffer is in bad increasing state to decrease bitrate
104  };
105 
106  virtual ~IRtmpLocalUser() {}
107 
108  virtual int setAudioStreamConfiguration(const RtmpStreamingAudioConfiguration& config) = 0;
109 
110  virtual int setVideoStreamConfiguration(const RtmpStreamingVideoConfiguration& config) = 0;
111 
112  virtual int adjustRecordingSignalVolume(int volume) = 0;
113 
114  virtual int getRecordingSignalVolume(int32_t* volume) = 0;
115 
116  virtual int setAudioEnabled(bool enabled) = 0;
117 
118  virtual void adjustVideoBitrate(VideoBitrateAdjustType type) = 0;
119 
120  virtual int setVideoEnabled(bool enabled) = 0;
121 
131 
141 
151  virtual int publishMediaPlayerAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack, int32_t playerId=0) = 0;
152 
162  virtual int unpublishMediaPlayerAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack, int32_t playerId=0) = 0;
163 
173 
182 
194  virtual int registerRtmpUserObserver(IRtmpLocalUserObserver* observer, void(*safeDeleter)(IRtmpLocalUserObserver*) = NULL) = 0;
195 
215 
222 
233 
240 };
241 
242 } // namespace rtc
243 } // namespace agora
agora::rtc::IRtmpLocalUser::unpublishMediaPlayerAudio
virtual int unpublishMediaPlayerAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack, int32_t playerId=0)=0
agora::rtc::IRtmpLocalUser::unregisterAudioFrameObserver
virtual void unregisterAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
agora::rtc::IRtmpLocalUser::publishAudio
virtual int publishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
agora::rtc::IRtmpLocalUser::unregisterVideoFrameObserver
virtual void unregisterVideoFrameObserver(media::base::IVideoFrameObserver *observer)=0
agora::rtc::IRtmpLocalUser::publishVideo
virtual int publishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
agora::rtc::IRtmpLocalUser::publishMediaPlayerAudio
virtual int publishMediaPlayerAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack, int32_t playerId=0)=0
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IRtmpLocalUserObserver::onVideoTrackPublicationFailure
virtual void onVideoTrackPublicationFailure(agora_refptr< rtc::ILocalVideoTrack > videoTrack, PublishVideoError error)=0
agora::rtc::IRtmpLocalUser::unpublishAudio
virtual int unpublishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
agora::media::base::IVideoFrameObserver
Definition: AgoraMediaBase.h:747
agora::rtc::IRtmpLocalUserObserver
Definition: NGIAgoraRtmpLocalUser.h:52
agora::rtc::IRtmpLocalUser::registerRtmpUserObserver
virtual int registerRtmpUserObserver(IRtmpLocalUserObserver *observer, void(*safeDeleter)(IRtmpLocalUserObserver *)=NULL)=0
agora::rtc::IRtmpLocalUser::unpublishVideo
virtual int unpublishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
agora::rtc::RtmpStreamingVideoConfiguration
Definition: NGIAgoraRtmpConnection.h:50
agora::rtc::RtmpStreamingAudioConfiguration
Definition: NGIAgoraRtmpConnection.h:21
agora::media::base::IAudioFrameObserver
Definition: AgoraMediaBase.h:435
agora::rtc::IRtmpLocalUserObserver::onAudioTrackPublishSuccess
virtual void onAudioTrackPublishSuccess(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
agora::rtc::IRtmpLocalUser
Definition: NGIAgoraRtmpLocalUser.h:97
agora::rtc::IRtmpLocalUser::unregisteRtmpUserObserver
virtual int unregisteRtmpUserObserver(IRtmpLocalUserObserver *observer)=0
agora::rtc::IRtmpLocalUser::registerVideoFrameObserver
virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver *observer)=0
agora::rtc::IRtmpLocalUserObserver::onVideoTrackPublishSuccess
virtual void onVideoTrackPublishSuccess(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
agora::rtc::IRtmpLocalUser::registerAudioFrameObserver
virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
agora::rtc::IRtmpLocalUserObserver::onAudioTrackPublicationFailure
virtual void onAudioTrackPublicationFailure(agora_refptr< rtc::ILocalAudioTrack > audioTrack, PublishAudioError error)=0