Agora Server Gateway SDK C++ API Reference
NGIAgoraRtmpLocalUser.h
Go to the documentation of this file.
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
13namespace agora {
14namespace rtc {
15
16struct RtmpStreamingAudioConfiguration;
17struct RtmpStreamingVideoConfiguration;
18
27
32};
33
42
47};
48
53 public:
55
64 virtual void onAudioTrackPublishSuccess(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
65
67 virtual void onAudioTrackPublishStart(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
68 virtual void onAudioTrackUnpublished(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
70
79 virtual void onAudioTrackPublicationFailure(agora_refptr<rtc::ILocalAudioTrack> audioTrack,
80 PublishAudioError error) = 0;
81
89 virtual void onVideoTrackPublishSuccess(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
90
92 virtual void onVideoTrackPublishStart(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
93 virtual void onVideoTrackUnpublished(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
95
104 virtual void onVideoTrackPublicationFailure(agora_refptr<rtc::ILocalVideoTrack> videoTrack,
105 PublishVideoError error) = 0;
106};
107
116 public:
117
125 None = 0,
134 };
135
136 virtual ~IRtmpLocalUser() {}
147
158
170 virtual int adjustRecordingSignalVolume(int volume) = 0;
171
181 virtual int getRecordingSignalVolume(int32_t* volume) = 0;
182
194 virtual int setAudioEnabled(bool enabled) = 0;
195
211
223 virtual int setVideoEnabled(bool enabled) = 0;
224
234 virtual int publishAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
235
245 virtual int unpublishAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack) = 0;
246
248 virtual int publishMediaPlayerAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack, int32_t playerId=0) = 0;
249
250 virtual int unpublishMediaPlayerAudio(agora_refptr<rtc::ILocalAudioTrack> audioTrack, int32_t playerId=0) = 0;
252
262 virtual int publishVideo(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
263
273 virtual int unpublishVideo(agora_refptr<rtc::ILocalVideoTrack> videoTrack) = 0;
274
287 virtual int registerRtmpUserObserver(IRtmpLocalUserObserver* observer, void(*safeDeleter)(IRtmpLocalUserObserver*) = NULL) = 0;
288
311 virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver* observer) = 0;
312
318 virtual void unregisterAudioFrameObserver(media::base::IAudioFrameObserver* observer) = 0;
319
329 virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0;
330
336 virtual void unregisterVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0;
337};
338
339} // namespace rtc
340} // namespace agora
341
342
Definition: NGIAgoraRtmpLocalUser.h:115
virtual int publishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
virtual int publishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
virtual int unregisteRtmpUserObserver(IRtmpLocalUserObserver *observer)=0
virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
virtual int adjustRecordingSignalVolume(int volume)=0
virtual void adjustVideoBitrate(VideoBitrateAdjustType type)=0
virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver *observer)=0
virtual int setAudioStreamConfiguration(const RtmpStreamingAudioConfiguration &config)=0
virtual int setVideoEnabled(bool enabled)=0
virtual int setAudioEnabled(bool enabled)=0
VideoBitrateAdjustType
Definition: NGIAgoraRtmpLocalUser.h:121
@ Decreasing
Definition: NGIAgoraRtmpLocalUser.h:133
@ Increasing
Definition: NGIAgoraRtmpLocalUser.h:129
@ None
Definition: NGIAgoraRtmpLocalUser.h:125
virtual ~IRtmpLocalUser()
Definition: NGIAgoraRtmpLocalUser.h:136
virtual int setVideoStreamConfiguration(const RtmpStreamingVideoConfiguration &config)=0
virtual int unpublishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
virtual void unregisterVideoFrameObserver(media::base::IVideoFrameObserver *observer)=0
virtual int registerRtmpUserObserver(IRtmpLocalUserObserver *observer, void(*safeDeleter)(IRtmpLocalUserObserver *)=NULL)=0
virtual void unregisterAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
virtual int unpublishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
virtual int getRecordingSignalVolume(int32_t *volume)=0
Definition: NGIAgoraRtmpLocalUser.h:52
virtual void onVideoTrackPublicationFailure(agora_refptr< rtc::ILocalVideoTrack > videoTrack, PublishVideoError error)=0
virtual ~IRtmpLocalUserObserver()
Definition: NGIAgoraRtmpLocalUser.h:54
virtual void onAudioTrackPublishSuccess(agora_refptr< rtc::ILocalAudioTrack > audioTrack)=0
virtual void onVideoTrackPublishSuccess(agora_refptr< rtc::ILocalVideoTrack > videoTrack)=0
virtual void onAudioTrackPublicationFailure(agora_refptr< rtc::ILocalAudioTrack > audioTrack, PublishAudioError error)=0
PublishVideoError
Definition: NGIAgoraRtmpLocalUser.h:37
@ PUBLISH_VIDEO_ERR_FAILED
Definition: NGIAgoraRtmpLocalUser.h:46
@ PUBLISH_VIDEO_ERR_OK
Definition: NGIAgoraRtmpLocalUser.h:41
PublishAudioError
Definition: NGIAgoraRtmpLocalUser.h:22
@ PUBLISH_AUDIO_ERR_OK
Definition: NGIAgoraRtmpLocalUser.h:26
@ PUBLISH_AUDIO_ERR_FAILED
Definition: NGIAgoraRtmpLocalUser.h:31
Definition: AgoraBase.h:86
Definition: NGIAgoraRtmpConnection.h:21
Definition: NGIAgoraRtmpConnection.h:51