Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
channel_capability_i.h
1//
2// Agora Media SDK
3//
4// Copyright (c) 2015 Agora IO. All rights reserved.
5//
6#pragma once
7
8#include <cstdint>
9#include <map>
10#include <string>
11#include <vector>
12
13namespace agora {
14 namespace capability {
15
16 enum class ChannelProfile : uint8_t {
17 kCommunication = 0,
18 kBroadcasting,
19 kUnifiedCommunication,
20 kNASA,
21
22 kNum
23};
24
25 enum class AudioCodec : uint8_t {
26 kL16 = 0,
27 kG722,
28 kOPUS,
29 kOPUS2ch,
30 kSILK,
31 kNOVA,
32 kAACLC,
33 kAACLC2ch,
34 kHEAAC,
35 kHEAAC2ch,
36 kJC1,
37 OPUSMC = 13,
38 kG711 = 14,
39 kNum
40};
41
42 enum class VideoCodec : uint8_t {
43 kEVP = 0,
44 kVP8,
45 kE264,
46 kH264,
47 kH265,
48 kAV1,
49 kVP9,
50 kNum
51};
52
53 enum class H264Feature : uint8_t {
54 kINTRAREQUEST = 0,
55 kPISE,
56 kHIGHPROFILE,
57 kNum
58};
59
60 enum class VideoFEC : uint8_t {
61 kNone = 0,
62 kULP,
63 kRS,
64 kDM = 4,
65 kRQ,
66 kNum
67};
68
69 enum class DmecVersions : uint8_t {
70 kNone = 0,
71 kDmv1,
72 kDmv2,
73 kDmv3,
74
75 kNum
76};
77
78 enum class IfMultipleRedundancy : uint8_t {
79 kNone = 0,
80 kMuiltRdcOpen,
81
82 kNum
83};
84
85 enum class Webrtc : uint8_t {
86 kWebInterop = 0,
87
88 kNum
89};
90
91 enum class RtpExtension : uint8_t {
92 kTwoBytes = 0,
93
94 kNum
95};
96
97 enum class AudioRsfec : uint8_t {
98 kSupport = 0,
99
100 kNum
101};
102
103 enum class CapabilityType : uint8_t {
104 kChannelProfile = 0,
105 kAudioCodec, //1
106 kVideoCodec, //2
107 kH264Feature, //3
108 kVideoFec, //4
109 kWebrtc, //5
110 kP2P, //6
111 kAudioRsfec, //7
112 kRtpExtension, //8
113 kAudio2InAut, // 9
114 kVp8Feature, // 10
115 kSvc, // 11
116 kDmecVersion, // 12
117 kMultipleRedundancy, //13
118 kBframe, // 14
119 kMinorStream, // 15
120 //WEB_CLIENT_ABSENCE, // 16 reserved for VOS
121 kCodecWithRqfec = 17, // 17
122 kSyncService, // 18
123 kAudioNonClockedStreaming = 19, // 19
124 kHDR = 20, // 20
125};
126
127 enum class Vp8Feature : uint8_t {
128 kSupportNasa,
129 kSupportFec,
130 kNum
131};
132
133 enum class Svc : uint8_t {
134 kVp8Support,
135 kH264Support,
136 kH265Support,
137 kNum
138};
139
140 enum class Bframe : uint8_t {
141 kH264Support,
142 kH265Support,
143 kNum
144};
145
146 enum class MinorStream : uint8_t {
147 kIntraRequest,
148 kNum
149};
150
151 enum class CodecWithRqfec : uint8_t {
152 kAv1Support,
153 kNum
154};
155
156 enum class SyncService : uint8_t {
157 kSupport,
158 kNum
159};
160
161 enum class AudioNonClockedStreaming : uint8_t {
162 kNonClockedSupport,
163 kNum
164};
165
166 enum class HDR : uint8_t {
167 kH265Support,
168 kAV1Support
169};
170
171 struct CapabilityItem {
172 uint8_t id;
173 std::string name;
174 CapabilityItem() {}
175 CapabilityItem(uint8_t i, const std::string& n) : id(i), name(n) {}
176};
177
178 using CapabilityItems = std::map<uint8_t, std::string>;
179 using Capabilities = std::map<CapabilityType, CapabilityItems>;
180
181} // namespace capability
182} // namespace agora
agora::capability
Definition channel_capability_i.h:14
agora::capability::MinorStream
MinorStream
Definition channel_capability_i.h:146
agora::capability::MinorStream::kIntraRequest
@ kIntraRequest
Definition channel_capability_i.h:147
agora::capability::AudioCodec
AudioCodec
Definition channel_capability_i.h:25
agora::capability::AudioCodec::kHEAAC
@ kHEAAC
Definition channel_capability_i.h:34
agora::capability::AudioCodec::kG722
@ kG722
Definition channel_capability_i.h:27
agora::capability::AudioCodec::kSILK
@ kSILK
Definition channel_capability_i.h:30
agora::capability::AudioCodec::kAACLC2ch
@ kAACLC2ch
Definition channel_capability_i.h:33
agora::capability::AudioCodec::kJC1
@ kJC1
Definition channel_capability_i.h:36
agora::capability::AudioCodec::kL16
@ kL16
Definition channel_capability_i.h:26
agora::capability::AudioCodec::kHEAAC2ch
@ kHEAAC2ch
Definition channel_capability_i.h:35
agora::capability::AudioCodec::kG711
@ kG711
Definition channel_capability_i.h:38
agora::capability::AudioCodec::OPUSMC
@ OPUSMC
Definition channel_capability_i.h:37
agora::capability::AudioCodec::kAACLC
@ kAACLC
Definition channel_capability_i.h:32
agora::capability::AudioCodec::kNOVA
@ kNOVA
Definition channel_capability_i.h:31
agora::capability::AudioCodec::kOPUS2ch
@ kOPUS2ch
Definition channel_capability_i.h:29
agora::capability::AudioCodec::kOPUS
@ kOPUS
Definition channel_capability_i.h:28
agora::capability::VideoCodec
VideoCodec
Definition channel_capability_i.h:42
agora::capability::VideoCodec::kEVP
@ kEVP
Definition channel_capability_i.h:43
agora::capability::VideoCodec::kE264
@ kE264
Definition channel_capability_i.h:45
agora::capability::VideoCodec::kH265
@ kH265
Definition channel_capability_i.h:47
agora::capability::VideoCodec::kVP9
@ kVP9
Definition channel_capability_i.h:49
agora::capability::VideoCodec::kH264
@ kH264
Definition channel_capability_i.h:46
agora::capability::VideoCodec::kVP8
@ kVP8
Definition channel_capability_i.h:44
agora::capability::VideoCodec::kAV1
@ kAV1
Definition channel_capability_i.h:48
agora::capability::Vp8Feature
Vp8Feature
Definition channel_capability_i.h:127
agora::capability::Vp8Feature::kSupportNasa
@ kSupportNasa
Definition channel_capability_i.h:128
agora::capability::Vp8Feature::kSupportFec
@ kSupportFec
Definition channel_capability_i.h:129
agora::capability::VideoFEC
VideoFEC
Definition channel_capability_i.h:60
agora::capability::VideoFEC::kNone
@ kNone
Definition channel_capability_i.h:61
agora::capability::VideoFEC::kDM
@ kDM
Definition channel_capability_i.h:64
agora::capability::VideoFEC::kRS
@ kRS
Definition channel_capability_i.h:63
agora::capability::VideoFEC::kULP
@ kULP
Definition channel_capability_i.h:62
agora::capability::VideoFEC::kRQ
@ kRQ
Definition channel_capability_i.h:65
agora::capability::CapabilityType
CapabilityType
Definition channel_capability_i.h:103
agora::capability::CapabilityType::kVp8Feature
@ kVp8Feature
Definition channel_capability_i.h:114
agora::capability::CapabilityType::kCodecWithRqfec
@ kCodecWithRqfec
Definition channel_capability_i.h:121
agora::capability::CapabilityType::kMinorStream
@ kMinorStream
Definition channel_capability_i.h:119
agora::capability::CapabilityType::kVideoCodec
@ kVideoCodec
Definition channel_capability_i.h:106
agora::capability::CapabilityType::kChannelProfile
@ kChannelProfile
Definition channel_capability_i.h:104
agora::capability::CapabilityType::kVideoFec
@ kVideoFec
Definition channel_capability_i.h:108
agora::capability::CapabilityType::kH264Feature
@ kH264Feature
Definition channel_capability_i.h:107
agora::capability::CapabilityType::kDmecVersion
@ kDmecVersion
Definition channel_capability_i.h:116
agora::capability::CapabilityType::kP2P
@ kP2P
Definition channel_capability_i.h:110
agora::capability::CapabilityType::kSyncService
@ kSyncService
Definition channel_capability_i.h:122
agora::capability::CapabilityType::kAudio2InAut
@ kAudio2InAut
Definition channel_capability_i.h:113
agora::capability::CapabilityType::kWebrtc
@ kWebrtc
Definition channel_capability_i.h:109
agora::capability::CapabilityType::kMultipleRedundancy
@ kMultipleRedundancy
Definition channel_capability_i.h:117
agora::capability::CapabilityType::kHDR
@ kHDR
Definition channel_capability_i.h:124
agora::capability::CapabilityType::kRtpExtension
@ kRtpExtension
Definition channel_capability_i.h:112
agora::capability::CapabilityType::kAudioNonClockedStreaming
@ kAudioNonClockedStreaming
Definition channel_capability_i.h:123
agora::capability::CapabilityType::kAudioRsfec
@ kAudioRsfec
Definition channel_capability_i.h:111
agora::capability::CapabilityType::kAudioCodec
@ kAudioCodec
Definition channel_capability_i.h:105
agora::capability::CapabilityType::kSvc
@ kSvc
Definition channel_capability_i.h:115
agora::capability::CapabilityType::kBframe
@ kBframe
Definition channel_capability_i.h:118
agora::capability::Svc
Svc
Definition channel_capability_i.h:133
agora::capability::Svc::kH264Support
@ kH264Support
Definition channel_capability_i.h:135
agora::capability::Svc::kVp8Support
@ kVp8Support
Definition channel_capability_i.h:134
agora::capability::Svc::kH265Support
@ kH265Support
Definition channel_capability_i.h:136
agora::capability::Capabilities
std::map< CapabilityType, CapabilityItems > Capabilities
Definition channel_capability_i.h:179
agora::capability::DmecVersions
DmecVersions
Definition channel_capability_i.h:69
agora::capability::DmecVersions::kDmv3
@ kDmv3
Definition channel_capability_i.h:73
agora::capability::DmecVersions::kDmv1
@ kDmv1
Definition channel_capability_i.h:71
agora::capability::DmecVersions::kDmv2
@ kDmv2
Definition channel_capability_i.h:72
agora::capability::CodecWithRqfec
CodecWithRqfec
Definition channel_capability_i.h:151
agora::capability::CodecWithRqfec::kAv1Support
@ kAv1Support
Definition channel_capability_i.h:152
agora::capability::AudioRsfec
AudioRsfec
Definition channel_capability_i.h:97
agora::capability::AudioRsfec::kSupport
@ kSupport
Definition channel_capability_i.h:98
agora::capability::IfMultipleRedundancy
IfMultipleRedundancy
Definition channel_capability_i.h:78
agora::capability::IfMultipleRedundancy::kMuiltRdcOpen
@ kMuiltRdcOpen
Definition channel_capability_i.h:80
agora::capability::ChannelProfile
ChannelProfile
Definition channel_capability_i.h:16
agora::capability::ChannelProfile::kCommunication
@ kCommunication
Definition channel_capability_i.h:17
agora::capability::ChannelProfile::kNum
@ kNum
Definition channel_capability_i.h:22
agora::capability::ChannelProfile::kBroadcasting
@ kBroadcasting
Definition channel_capability_i.h:18
agora::capability::ChannelProfile::kNASA
@ kNASA
Definition channel_capability_i.h:20
agora::capability::ChannelProfile::kUnifiedCommunication
@ kUnifiedCommunication
Definition channel_capability_i.h:19
agora::capability::H264Feature
H264Feature
Definition channel_capability_i.h:53
agora::capability::H264Feature::kPISE
@ kPISE
Definition channel_capability_i.h:55
agora::capability::H264Feature::kINTRAREQUEST
@ kINTRAREQUEST
Definition channel_capability_i.h:54
agora::capability::H264Feature::kHIGHPROFILE
@ kHIGHPROFILE
Definition channel_capability_i.h:56
agora::capability::RtpExtension
RtpExtension
Definition channel_capability_i.h:91
agora::capability::RtpExtension::kTwoBytes
@ kTwoBytes
Definition channel_capability_i.h:92
agora::capability::HDR
HDR
Definition channel_capability_i.h:166
agora::capability::HDR::kAV1Support
@ kAV1Support
Definition channel_capability_i.h:168
agora::capability::AudioNonClockedStreaming
AudioNonClockedStreaming
Definition channel_capability_i.h:161
agora::capability::AudioNonClockedStreaming::kNonClockedSupport
@ kNonClockedSupport
Definition channel_capability_i.h:162
agora::capability::SyncService
SyncService
Definition channel_capability_i.h:156
agora::capability::Bframe
Bframe
Definition channel_capability_i.h:140
agora::capability::Webrtc
Webrtc
Definition channel_capability_i.h:85
agora::capability::Webrtc::kWebInterop
@ kWebInterop
Definition channel_capability_i.h:86
agora::capability::CapabilityItems
std::map< uint8_t, std::string > CapabilityItems
Definition channel_capability_i.h:178
agora
Definition AgoraAtomicOps.h:21
agora::capability::CapabilityItem::name
std::string name
Definition channel_capability_i.h:173
agora::capability::CapabilityItem::CapabilityItem
CapabilityItem(uint8_t i, const std::string &n)
Definition channel_capability_i.h:175
agora::capability::CapabilityItem::id
uint8_t id
Definition channel_capability_i.h:172
agora::capability::CapabilityItem::CapabilityItem
CapabilityItem()
Definition channel_capability_i.h:174