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 
64  kNum
65 };
66 
67 enum class Webrtc : uint8_t {
68  kWebInterop = 0,
69 
70  kNum
71 };
72 
73 enum class RtpExtension : uint8_t {
74  kTwoBytes = 0,
75 
76  kNum
77 };
78 
79 enum class CapabilityType : uint8_t {
80  kChannelProfile = 0,
81  kAudioCodec,
82  kVideoCodec,
83  kH264Feature,
84  kVideoFec,
85  kWebrtc,
86  kP2P,
87  kAudioRsfec,
88  kRtpExtension,
89 };
90 
92  uint8_t id;
93  std::string name;
94  CapabilityItem() {}
95  CapabilityItem(uint8_t i, const std::string& n) : id(i), name(n) {}
96 };
97 
98 using CapabilityItems = std::vector<CapabilityItem>;
99 using Capabilities = std::map<CapabilityType, CapabilityItems>;
100 
101 } // namespace capability
102 } // namespace agora
agora::capability::CapabilityItem
Definition: channel_capability_i.h:91