Agora Java API Reference for Android
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 
38  kNum
39 };
40 
41 enum class VideoCodec : uint8_t {
42  kEVP = 0,
43  kVP8,
44  kE264,
45  kH264,
46  kH265,
47 
48  kNum
49 };
50 
51 enum class H264Feature : uint8_t {
52  kINTRAREQUEST = 0,
53  kPISE,
54  kHIGHPROFILE,
55 
56  kNum
57 };
58 
59 enum class VideoFEC : uint8_t {
60  kNone = 0,
61  kULP,
62  kRS,
63  kDM = 4,
64 
65  kNum
66 };
67 
68 enum class Webrtc : uint8_t {
69  kWebInterop = 0,
70 
71  kNum
72 };
73 
74 enum class RtpExtension : uint8_t {
75  kTwoBytes = 0,
76 
77  kNum
78 };
79 
80 enum class CapabilityType : uint8_t {
81  kChannelProfile = 0,
82  kAudioCodec,
83  kVideoCodec,
84  kH264Feature,
85  kVideoFec,
86  kWebrtc,
87  kP2P,
88  kAudioRsfec,
89  kRtpExtension,
90 };
91 
93  uint8_t id;
94  std::string name;
95  CapabilityItem() {}
96  CapabilityItem(uint8_t i, const std::string& n) : id(i), name(n) {}
97 };
98 
99 using CapabilityItems = std::vector<CapabilityItem>;
100 using Capabilities = std::map<CapabilityType, CapabilityItems>;
101 
102 } // namespace capability
103 } // namespace agora
agora::capability::CapabilityItem
Definition: channel_capability_i.h:92