Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
NGIAgoraRtmpConnection.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 "AgoraBase.h"
11#include "AgoraRefPtr.h"
12#include <api/cpp/aosl_ares_class.h>
13
14namespace agora {
15namespace rtc {
16
17class IRtmpLocalUser;
18
47
129
130
155
227
237
249
250
255 public:
261 virtual void onConnected(const RtmpConnectionInfo& connectionInfo) = 0;
262
268 virtual void onDisconnected(const RtmpConnectionInfo& connectionInfo) = 0;
269
275 virtual void onReconnecting(const RtmpConnectionInfo& connectionInfo) = 0;
276
282 virtual void onReconnected(const RtmpConnectionInfo& connectionInfo) = 0;
283
290 virtual void onConnectionFailure(const RtmpConnectionInfo& connectionInfo,
291 RTMP_CONNECTION_ERROR errCode) = 0;
292
302 virtual void onTransferStatistics(uint64_t video_width, uint64_t video_height, uint64_t video_bitrate, uint64_t audio_bitrate, uint64_t video_frame_rate, uint64_t push_video_frame_cnt, uint64_t pop_video_frame_cnt) = 0;
303
305};
306
318 public:
320
340 virtual int connect(const char* url, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
341
349 virtual int disconnect(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
350
359
368
377 virtual int registerObserver(IRtmpConnectionObserver* observer, void(*safeDeleter)(IRtmpConnectionObserver*) = NULL, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
378
388 virtual int unregisterObserver(IRtmpConnectionObserver* observer) = 0;
389};
390
391} // namespace rtc
392} // namespace agora
Definition AgoraRefPtr.h:31
Definition NGIAgoraRtmpConnection.h:317
virtual RtmpConnectionInfo getConnectionInfo()=0
virtual int connect(const char *url, aosl_ref_t ares=AOSL_REF_INVALID)=0
~IRtmpConnection()
Definition NGIAgoraRtmpConnection.h:319
virtual int unregisterObserver(IRtmpConnectionObserver *observer)=0
virtual int registerObserver(IRtmpConnectionObserver *observer, void(*safeDeleter)(IRtmpConnectionObserver *)=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int disconnect(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual IRtmpLocalUser * getRtmpLocalUser()=0
Definition NGIAgoraRtmpConnection.h:254
virtual void onConnected(const RtmpConnectionInfo &connectionInfo)=0
virtual void onReconnecting(const RtmpConnectionInfo &connectionInfo)=0
virtual ~IRtmpConnectionObserver()
Definition NGIAgoraRtmpConnection.h:304
virtual void onDisconnected(const RtmpConnectionInfo &connectionInfo)=0
virtual void onReconnected(const RtmpConnectionInfo &connectionInfo)=0
virtual void onConnectionFailure(const RtmpConnectionInfo &connectionInfo, RTMP_CONNECTION_ERROR errCode)=0
virtual void onTransferStatistics(uint64_t video_width, uint64_t video_height, uint64_t video_bitrate, uint64_t audio_bitrate, uint64_t video_frame_rate, uint64_t push_video_frame_cnt, uint64_t pop_video_frame_cnt)=0
Definition NGIAgoraRtmpLocalUser.h:117
Definition AgoraExtensions.h:5
RTMP_CONNECTION_STATE
Definition NGIAgoraRtmpConnection.h:159
@ STATE_DISCONNECTED
Definition NGIAgoraRtmpConnection.h:171
@ STATE_FAILED
Definition NGIAgoraRtmpConnection.h:215
@ STATE_RECONNECTED
Definition NGIAgoraRtmpConnection.h:225
@ STATE_CONNECTING
Definition NGIAgoraRtmpConnection.h:184
@ STATE_RECONNECTING
Definition NGIAgoraRtmpConnection.h:206
@ STATE_CONNECTED
Definition NGIAgoraRtmpConnection.h:196
ORIENTATION_MODE
Definition AgoraBase.h:1069
@ ORIENTATION_MODE_ADAPTIVE
Definition AgoraBase.h:1077
RTMP_CONNECTION_ERROR
Definition NGIAgoraRtmpConnection.h:134
@ RTMP_CONNECTION_ERR_BAD_NAME
Definition NGIAgoraRtmpConnection.h:153
@ RTMP_CONNECTION_ERR_INVALID_URL
Definition NGIAgoraRtmpConnection.h:148
@ RTMP_CONNECTION_ERR_OK
Definition NGIAgoraRtmpConnection.h:138
@ RTMP_CONNECTION_ERR_FAILED
Definition NGIAgoraRtmpConnection.h:143
Definition AgoraAtomicOps.h:21
RtmpStreamingAudioConfiguration audioConfig
Definition NGIAgoraRtmpConnection.h:232
bool audioOnly
Definition NGIAgoraRtmpConnection.h:234
RtmpConnectionConfiguration()
Definition NGIAgoraRtmpConnection.h:235
RtmpStreamingVideoConfiguration videoConfig
Definition NGIAgoraRtmpConnection.h:233
Definition NGIAgoraRtmpConnection.h:241
RTMP_CONNECTION_STATE state
Definition NGIAgoraRtmpConnection.h:245
RtmpConnectionInfo()
Definition NGIAgoraRtmpConnection.h:247
Definition NGIAgoraRtmpConnection.h:22
int numberOfChannels
Definition NGIAgoraRtmpConnection.h:36
RtmpStreamingAudioConfiguration()
Definition NGIAgoraRtmpConnection.h:44
int bytesPerSample
Definition NGIAgoraRtmpConnection.h:31
int bitrate
Definition NGIAgoraRtmpConnection.h:42
int sampleRateHz
Definition NGIAgoraRtmpConnection.h:26
Definition NGIAgoraRtmpConnection.h:51
int width
Definition NGIAgoraRtmpConnection.h:60
RtmpStreamingVideoConfiguration()
Definition NGIAgoraRtmpConnection.h:125
unsigned int gopInMs
Definition NGIAgoraRtmpConnection.h:100
int framerate
Definition NGIAgoraRtmpConnection.h:76
int encoderHwSwMode
Definition NGIAgoraRtmpConnection.h:109
int height
Definition NGIAgoraRtmpConnection.h:70
ORIENTATION_MODE orientationMode
Definition NGIAgoraRtmpConnection.h:123
int encoderBitrateControlMode
Definition NGIAgoraRtmpConnection.h:117
int bitrate
Definition NGIAgoraRtmpConnection.h:82
int maxBitrate
Definition NGIAgoraRtmpConnection.h:88
int minBitrate
Definition NGIAgoraRtmpConnection.h:94