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
13 namespace 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 kNum
39};
40
41 enum class VideoCodec : uint8_t {
42 kEVP = 0,
43 kVP8,
44 kE264,
45 kH264,
46 kH265,
47 kAV1,
48 kVP9,
49 kNum
50};
51
52 enum class H264Feature : uint8_t {
53 kINTRAREQUEST = 0,
54 kPISE,
55 kHIGHPROFILE,
56 kNum
57};
58
59 enum class VideoFEC : uint8_t {
60 kNone = 0,
61 kULP,
62 kRS,
63 kDM = 4,
64 kRQ,
65 kNum
66};
67
68 enum class DmecVersions : uint8_t {
69 kNone = 0,
70 kDmv1,
71 kDmv2,
72 kDmv3,
73
74 kNum
75};
76
77 enum class IfMultipleRedundancy : uint8_t {
78 kNone = 0,
79 kMuiltRdcOpen,
80
81 kNum
82};
83
84 enum class Webrtc : uint8_t {
85 kWebInterop = 0,
86
87 kNum
88};
89
90 enum class RtpExtension : uint8_t {
91 kTwoBytes = 0,
92
93 kNum
94};
95
96 enum class AudioRsfec : uint8_t {
97 kSupport = 0,
98
99 kNum
100};
101
102 enum class CapabilityType : uint8_t {
103 kChannelProfile = 0,
104 kAudioCodec, //1
105 kVideoCodec, //2
106 kH264Feature, //3
107 kVideoFec, //4
108 kWebrtc, //5
109 kP2P, //6
110 kAudioRsfec, //7
111 kRtpExtension, //8
112 kAudio2InAut, // 9
113 kVp8Feature, // 10
114 kSvc, // 11
115 kDmecVersion, // 12
116 kMultipleRedundancy, //13
117 kBframe, // 14
118 kMinorStream, // 15
119 //WEB_CLIENT_ABSENCE, // 16 reserved for VOS
120 kCodecWithRqfec = 17, // 17
121 kSyncService, // 18
122 kAudioNonClockedStreaming = 19, // 19
123};
124
125 enum class Vp8Feature : uint8_t {
126 kSupportNasa,
127 kSupportFec,
128 kNum
129};
130
131 enum class Svc : uint8_t {
132 kVp8Support,
133 kH264Support,
134 kH265Support,
135 kNum
136};
137
138 enum class Bframe : uint8_t {
139 kH264Support,
140 kH265Support,
141 kNum
142};
143
144 enum class MinorStream : uint8_t {
145 kIntraRequest,
146 kNum
147};
148
149 enum class CodecWithRqfec : uint8_t {
150 kAv1Support,
151 kNum
152};
153
154 enum class SyncService : uint8_t {
155 kSupport,
156 kNum
157};
158
159 enum class AudioNonClockedStreaming : uint8_t {
160 kNonClockedSupport,
161 kNum
162};
163
164 struct CapabilityItem {
165 uint8_t id;
166 std::string name;
167 CapabilityItem() {}
168 CapabilityItem(uint8_t i, const std::string& n) : id(i), name(n) {}
169};
170
171 using CapabilityItems = std::map<uint8_t, std::string>;
172 using Capabilities = std::map<CapabilityType, CapabilityItems>;
173
174} // namespace capability
175} // namespace agora
agora::capability
Definition channel_capability_i.h:14
agora::capability::MinorStream
MinorStream
Definition channel_capability_i.h:144
agora::capability::MinorStream::kIntraRequest
@ kIntraRequest
Definition channel_capability_i.h:145
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::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:41
agora::capability::VideoCodec::kEVP
@ kEVP
Definition channel_capability_i.h:42
agora::capability::VideoCodec::kE264
@ kE264
Definition channel_capability_i.h:44
agora::capability::VideoCodec::kH265
@ kH265
Definition channel_capability_i.h:46
agora::capability::VideoCodec::kVP9
@ kVP9
Definition channel_capability_i.h:48
agora::capability::VideoCodec::kH264
@ kH264
Definition channel_capability_i.h:45
agora::capability::VideoCodec::kVP8
@ kVP8
Definition channel_capability_i.h:43
agora::capability::VideoCodec::kAV1
@ kAV1
Definition channel_capability_i.h:47
agora::capability::Vp8Feature
Vp8Feature
Definition channel_capability_i.h:125
agora::capability::Vp8Feature::kSupportNasa
@ kSupportNasa
Definition channel_capability_i.h:126
agora::capability::Vp8Feature::kSupportFec
@ kSupportFec
Definition channel_capability_i.h:127
agora::capability::VideoFEC
VideoFEC
Definition channel_capability_i.h:59
agora::capability::VideoFEC::kNone
@ kNone
Definition channel_capability_i.h:60
agora::capability::VideoFEC::kDM
@ kDM
Definition channel_capability_i.h:63
agora::capability::VideoFEC::kRS
@ kRS
Definition channel_capability_i.h:62
agora::capability::VideoFEC::kULP
@ kULP
Definition channel_capability_i.h:61
agora::capability::VideoFEC::kRQ
@ kRQ
Definition channel_capability_i.h:64
agora::capability::CapabilityType
CapabilityType
Definition channel_capability_i.h:102
agora::capability::CapabilityType::kVp8Feature
@ kVp8Feature
Definition channel_capability_i.h:113
agora::capability::CapabilityType::kCodecWithRqfec
@ kCodecWithRqfec
Definition channel_capability_i.h:120
agora::capability::CapabilityType::kMinorStream
@ kMinorStream
Definition channel_capability_i.h:118
agora::capability::CapabilityType::kVideoCodec
@ kVideoCodec
Definition channel_capability_i.h:105
agora::capability::CapabilityType::kChannelProfile
@ kChannelProfile
Definition channel_capability_i.h:103
agora::capability::CapabilityType::kVideoFec
@ kVideoFec
Definition channel_capability_i.h:107
agora::capability::CapabilityType::kH264Feature
@ kH264Feature
Definition channel_capability_i.h:106
agora::capability::CapabilityType::kDmecVersion
@ kDmecVersion
Definition channel_capability_i.h:115
agora::capability::CapabilityType::kP2P
@ kP2P
Definition channel_capability_i.h:109
agora::capability::CapabilityType::kSyncService
@ kSyncService
Definition channel_capability_i.h:121
agora::capability::CapabilityType::kAudio2InAut
@ kAudio2InAut
Definition channel_capability_i.h:112
agora::capability::CapabilityType::kWebrtc
@ kWebrtc
Definition channel_capability_i.h:108
agora::capability::CapabilityType::kMultipleRedundancy
@ kMultipleRedundancy
Definition channel_capability_i.h:116
agora::capability::CapabilityType::kRtpExtension
@ kRtpExtension
Definition channel_capability_i.h:111
agora::capability::CapabilityType::kAudioNonClockedStreaming
@ kAudioNonClockedStreaming
Definition channel_capability_i.h:122
agora::capability::CapabilityType::kAudioRsfec
@ kAudioRsfec
Definition channel_capability_i.h:110
agora::capability::CapabilityType::kAudioCodec
@ kAudioCodec
Definition channel_capability_i.h:104
agora::capability::CapabilityType::kSvc
@ kSvc
Definition channel_capability_i.h:114
agora::capability::CapabilityType::kBframe
@ kBframe
Definition channel_capability_i.h:117
agora::capability::Svc
Svc
Definition channel_capability_i.h:131
agora::capability::Svc::kH264Support
@ kH264Support
Definition channel_capability_i.h:133
agora::capability::Svc::kVp8Support
@ kVp8Support
Definition channel_capability_i.h:132
agora::capability::Svc::kH265Support
@ kH265Support
Definition channel_capability_i.h:134
agora::capability::Capabilities
std::map< CapabilityType, CapabilityItems > Capabilities
Definition channel_capability_i.h:172
agora::capability::DmecVersions
DmecVersions
Definition channel_capability_i.h:68
agora::capability::DmecVersions::kDmv3
@ kDmv3
Definition channel_capability_i.h:72
agora::capability::DmecVersions::kDmv1
@ kDmv1
Definition channel_capability_i.h:70
agora::capability::DmecVersions::kDmv2
@ kDmv2
Definition channel_capability_i.h:71
agora::capability::CodecWithRqfec
CodecWithRqfec
Definition channel_capability_i.h:149
agora::capability::CodecWithRqfec::kAv1Support
@ kAv1Support
Definition channel_capability_i.h:150
agora::capability::AudioRsfec
AudioRsfec
Definition channel_capability_i.h:96
agora::capability::AudioRsfec::kSupport
@ kSupport
Definition channel_capability_i.h:97
agora::capability::IfMultipleRedundancy
IfMultipleRedundancy
Definition channel_capability_i.h:77
agora::capability::IfMultipleRedundancy::kMuiltRdcOpen
@ kMuiltRdcOpen
Definition channel_capability_i.h:79
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:52
agora::capability::H264Feature::kPISE
@ kPISE
Definition channel_capability_i.h:54
agora::capability::H264Feature::kINTRAREQUEST
@ kINTRAREQUEST
Definition channel_capability_i.h:53
agora::capability::H264Feature::kHIGHPROFILE
@ kHIGHPROFILE
Definition channel_capability_i.h:55
agora::capability::RtpExtension
RtpExtension
Definition channel_capability_i.h:90
agora::capability::RtpExtension::kTwoBytes
@ kTwoBytes
Definition channel_capability_i.h:91
agora::capability::AudioNonClockedStreaming
AudioNonClockedStreaming
Definition channel_capability_i.h:159
agora::capability::AudioNonClockedStreaming::kNonClockedSupport
@ kNonClockedSupport
Definition channel_capability_i.h:160
agora::capability::SyncService
SyncService
Definition channel_capability_i.h:154
agora::capability::Bframe
Bframe
Definition channel_capability_i.h:138
agora::capability::Webrtc
Webrtc
Definition channel_capability_i.h:84
agora::capability::Webrtc::kWebInterop
@ kWebInterop
Definition channel_capability_i.h:85
agora::capability::CapabilityItems
std::map< uint8_t, std::string > CapabilityItems
Definition channel_capability_i.h:171
agora
Definition AgoraAtomicOps.h:21
agora::capability::CapabilityItem::name
std::string name
Definition channel_capability_i.h:166
agora::capability::CapabilityItem::CapabilityItem
CapabilityItem(uint8_t i, const std::string &n)
Definition channel_capability_i.h:168
agora::capability::CapabilityItem::id
uint8_t id
Definition channel_capability_i.h:165
agora::capability::CapabilityItem::CapabilityItem
CapabilityItem()
Definition channel_capability_i.h:167