Agora C++ API Reference for All Platforms
packet_i.h
1 // Agora RTC/MEDIA SDK
2 //
3 // Created by Pengfei Han in 2019-06.
4 // Copyright (c) 2019 Agora.io. All rights reserved.
5 //
6 #pragma once
7 
8 #include <cstdint>
9 #include <list>
10 #include <memory>
11 #include <string>
12 #include <vector>
13 
14 #include "AgoraBase.h"
15 #include "api2/internal/audio_node_stat_i.h"
16 
17 namespace agora {
18 namespace rtc {
19 
20 
21 static const uint8_t kVideoEngineFlagHasIntraRequest = 0x10;
22 static const uint8_t kVideoEngineFlagStdCodec = 0x8;
23 static const uint8_t kVideoEngineFlagNasa = 0x40;
24 static const uint8_t kVideoEngineFlagScalableDelta = 0x80;
25 static const uint8_t kVideoEngineFlagMajorStreamOnly = 0x01;
26 
27 static const uint8_t kAgoraHeaderLength = 3;
28 static const uint8_t kAgoraAudioExtendLength = 5;
29 
35 };
36 
37 struct SMediaFrame {
39  uint8_t flags_;
40  uint16_t seq_;
41  uint16_t ssrc_;
42  uint64_t packetSentTs_;
43  uint64_t sentTs_;
44  uint64_t receiveTs_;
45  std::string payload_;
46  SMediaFrame() : uid_(0), flags_(0), seq_(0), ssrc_(0), sentTs_(0), receiveTs_(0) {}
47 };
48 
49 struct SAudioFrame : public SMediaFrame {
50  uint8_t codec_;
51  uint32_t ts_;
52  int8_t vad_;
53  uint8_t internalFlags_;
54  uint16_t audio_fec_level_;
56  uint16_t cc_type_;
57  // energy is only used for send
58  uint8_t energy_;
61  int64_t audio_pts_;
64 };
65 
66 using SharedSAudioFrame = std::shared_ptr<SAudioFrame>;
67 
68 struct SAudioPacket {
73  };
74  int8_t vad_;
75  uint8_t codec_;
76  uint8_t internalFlags_;
77  uint16_t seq_;
78  uint16_t ssrc_;
79  uint16_t payloadLength_;
80  uint16_t latestFrameSeq_;
82  std::list<SharedSAudioFrame> frames_;
85  : vad_(0),
86  codec_(0),
87  internalFlags_(0),
88  seq_(0),
89  ssrc_(0),
90  payloadLength_(0),
91  latestFrameSeq_(0),
92  filterable_(true) {}
93 };
94 
95 struct rtc_packet_t {
104  };
106  uint32_t seq;
107  uint16_t payload_length; // should be the same as payload.length()
108  uint64_t sent_ts;
109  uint64_t recv_ts;
110  int link_id;
111  uint8_t internal_flags;
112  std::string payload;
114  : uid(0), seq(0), payload_length(0), sent_ts(0), recv_ts(0), link_id(-1), internal_flags(0) {}
115  virtual ~rtc_packet_t() {}
116 };
117 
119  bool quit;
120  bool rtcp;
122  bool real_quit;
125  : quit(false), rtcp(false), need_reliable(false), real_quit(false), audience_send(false) {}
126 };
127 
134 };
135 
136 struct audio_packet_t : public rtc_packet_t {
137  uint32_t ts;
138  int8_t vad;
139  uint8_t codec;
140  int last_error; // error code set by last filter
141  uint32_t reqMs; // for calculating RTT only
142  uint8_t flags; // flags from SAudioFrame
143  int64_t audio_pts; //audio pts from SAudioFrame extension
144  audio_packet_t() : ts(0), vad(0), codec(0), last_error(0), reqMs(0), flags(0), audio_pts(0) {}
145 };
146 
147 struct video_packet_t : public rtc_packet_t {
156  };
157 
159  // below is for video2 only, not used in video3
163  VIDEO_FLAG_STD_CODEC = 0x8, // also for video3 to differentiate std stream and private stream
165  // below is for video3
167  };
168 
172  B_FRAME = 2,
173  };
174 
175  // TODO(Bob): This should be removed and use public API definitions.
177  VIDEO_CODEC_VP8 = 1, // std VP8
178  VIDEO_CODEC_H264 = 2, // std H264
179  VIDEO_CODEC_EVP = 3, // VP8 with BCM
180  VIDEO_CODEC_E264 = 4, // H264 with BCM
181  };
182 
184  // marks if the |req_ms| field of PVideoRexferRes_v4 is set
186  };
187 
192  };
193 
194  struct Extension {
195  bool has_extension_ = false;
197  std::vector<uint32_t> content_;
198  };
199 
200  uint32_t frameSeq;
201  uint8_t frameType;
202  uint8_t streamType;
203  uint16_t packets;
204  uint16_t subseq;
205  uint16_t fecPkgNum;
206  uint8_t codec;
207  uint8_t flags;
209  uint32_t reqMs; // for calculating RTT only
210  uint32_t reserve1;
212  int64_t transport_seq; // for transport-cc
213  int8_t cc_type;
217 
219  : frameSeq(0),
220  frameType(0),
221  streamType(0),
222  packets(0),
223  subseq(0),
224  fecPkgNum(0),
225  codec(0),
226  flags(0),
227  protocolVersion(0),
228  reqMs(0),
229  reserve1(0),
230  transport_seq(-1),
231  cc_type(0),
233 
234  union video3_flags {
235  struct {
236  uint8_t stream_type : 4;
237  uint8_t frame_type : 4;
238  };
239  uint8_t video_type;
240  };
241 
242  void fromVideType(uint8_t f) {
243  video3_flags t;
244  t.video_type = f;
246  frameType = t.frame_type;
247  }
248 
249  uint8_t toVideoType() const {
250  video3_flags t;
252  t.frame_type = frameType;
253  return t.video_type;
254  }
255 
256  bool hasReserveBit(uint16_t bit) { return (reserve1 & (1 << bit)) == (1 << bit); }
257 };
258 
261  bool from_vos = false;
262  std::string payload;
263 };
264 
267  std::string payload;
268 };
269 
272  int type;
273  std::string user_id;
274  std::string payload;
275 };
276 
282 };
283 
284 } // namespace rtc
285 } // namespace agora
agora::rtc::peer_message_t::type
int type
Definition: packet_i.h:272
agora::rtc::VideoStreamType
VideoStreamType
Definition: packet_i.h:277
agora::rtc::audio_packet_t::vad
int8_t vad
Definition: packet_i.h:138
agora::rtc::peer_message_t::payload
std::string payload
Definition: packet_i.h:274
agora::rtc::SMediaFrame::flags_
uint8_t flags_
Definition: packet_i.h:39
agora::rtc::video_packet_t::cc_type
int8_t cc_type
Definition: packet_i.h:213
agora::rtc::rtc_packet_t::RTC_FLAG_FROM_VOS
@ RTC_FLAG_FROM_VOS
Definition: packet_i.h:98
agora::rtc::LIVE_VIDEO_STREAM
@ LIVE_VIDEO_STREAM
Definition: packet_i.h:281
agora::rtc::video_packet_t::VIDEO_STREAM_MEDIUM
@ VIDEO_STREAM_MEDIUM
Definition: packet_i.h:152
agora::rtc::SAudioPacket::vad_
int8_t vad_
Definition: packet_i.h:74
agora::rtc::SAudioFrame::SAudioFrame
SAudioFrame()
Definition: packet_i.h:62
agora::rtc::rtc_packet_t::RTC_FLAG_FROM_P2P
@ RTC_FLAG_FROM_P2P
Definition: packet_i.h:99
agora::rtc::kVideoEngineFlagMajorStreamOnly
static const uint8_t kVideoEngineFlagMajorStreamOnly
Definition: packet_i.h:25
agora::rtc::SMediaFrame::SMediaFrame
SMediaFrame()
Definition: packet_i.h:46
agora::rtc::audio_packet_t::ts
uint32_t ts
Definition: packet_i.h:137
agora::rtc::SAudioPacket::payloadLength_
uint16_t payloadLength_
Definition: packet_i.h:79
agora::rtc::SAudioPacket::AUDIO_PACKET_REXFERRED
@ AUDIO_PACKET_REXFERRED
Definition: packet_i.h:70
agora::rtc::SAudioFrame::audio_pts_
int64_t audio_pts_
Definition: packet_i.h:61
agora::rtc::SAudioPacket::ssrc_
uint16_t ssrc_
Definition: packet_i.h:78
agora::rtc::video_packet_t::B_FRAME
@ B_FRAME
Definition: packet_i.h:172
agora::rtc::video_packet_t::VIDEO_FLAG_LIVE
@ VIDEO_FLAG_LIVE
Definition: packet_i.h:162
agora::rtc::MEDIA_STREAM_TYPE_VIDEO_HIGH
@ MEDIA_STREAM_TYPE_VIDEO_HIGH
Definition: packet_i.h:33
agora::rtc::broadcast_packet_t::rtcp
bool rtcp
Definition: packet_i.h:120
agora::rtc::video_packet_t::video3_flags::stream_type
uint8_t stream_type
Definition: packet_i.h:236
agora::rtc::SMediaFrame::payload_
std::string payload_
Definition: packet_i.h:45
agora::rtc::SAudioFrame::codec_
uint8_t codec_
Definition: packet_i.h:50
agora::rtc::SAudioFrame::ts_
uint32_t ts_
Definition: packet_i.h:51
agora::rtc::video_custom_ctrl_broadcast_packet_t::payload
std::string payload
Definition: packet_i.h:267
agora::rtc::video_packet_t::frameSeq
uint32_t frameSeq
Definition: packet_i.h:200
agora::rtc::broadcast_packet_t::audience_send
bool audience_send
Definition: packet_i.h:123
agora::rtc::video_packet_t::fecPkgNum
uint16_t fecPkgNum
Definition: packet_i.h:205
agora::rtc::video_packet_t::streamType
uint8_t streamType
Definition: packet_i.h:202
agora::rtc::rtc_packet_t::payload
std::string payload
Definition: packet_i.h:112
agora::rtc::video_custom_ctrl_broadcast_packet_t::uid
rtc::uid_t uid
Definition: packet_i.h:266
agora::rtc::video_packet_t::video_packet_t
video_packet_t()
Definition: packet_i.h:218
agora::rtc::SAudioFrame::audio_fec_level_
uint16_t audio_fec_level_
Definition: packet_i.h:54
agora::rtc::LOW_BITRATE_VIDEO_STREAM
@ LOW_BITRATE_VIDEO_STREAM
Definition: packet_i.h:279
agora::rtc::video_packet_t::max_temporal_layers
uint8_t max_temporal_layers
Definition: packet_i.h:214
agora::rtc::rtc_packet_t::rtc_packet_t
rtc_packet_t()
Definition: packet_i.h:113
agora::rtc::SAudioPacket::AUDIO_PACKET_FROM_P2P
@ AUDIO_PACKET_FROM_P2P
Definition: packet_i.h:72
agora::rtc::video_packet_t::video3_flags::frame_type
uint8_t frame_type
Definition: packet_i.h:237
agora::rtc::video_packet_t::VIDEO_STREAM_MAX
@ VIDEO_STREAM_MAX
Definition: packet_i.h:155
agora::rtc::video_packet_t::VIDEO_STREAM_HIGH
@ VIDEO_STREAM_HIGH
Definition: packet_i.h:150
agora::rtc::video_packet_t::VIDEO_STREAM_LOW
@ VIDEO_STREAM_LOW
Definition: packet_i.h:151
agora::rtc::kAgoraHeaderLength
static const uint8_t kAgoraHeaderLength
Definition: packet_i.h:27
agora::rtc::SAudioFrame::arq_to_rsfec_flag_
bool arq_to_rsfec_flag_
Definition: packet_i.h:55
agora::rtc::SMediaFrame::packetSentTs_
uint64_t packetSentTs_
Definition: packet_i.h:42
agora::rtc::video_packet_t::toVideoType
uint8_t toVideoType() const
Definition: packet_i.h:249
agora::rtc::SAudioPacket::internalFlags_
uint8_t internalFlags_
Definition: packet_i.h:76
agora::rtc::SMediaFrame::receiveTs_
uint64_t receiveTs_
Definition: packet_i.h:44
agora::rtc::control_broadcast_packet_t::from_vos
bool from_vos
Definition: packet_i.h:261
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::video_packet_t::EXTENSION_VERSION
EXTENSION_VERSION
Definition: packet_i.h:188
agora::rtc::broadcast_packet_t::real_quit
bool real_quit
Definition: packet_i.h:122
agora::rtc::video_packet_t::reqMs
uint32_t reqMs
Definition: packet_i.h:209
agora::rtc::rtc_packet_t::sent_ts
uint64_t sent_ts
Definition: packet_i.h:108
agora::rtc::distribution_property_t
Definition: packet_i.h:128
agora::rtc::video_packet_t::Extension
Definition: packet_i.h:194
agora::rtc::MEDIA_STREAM_TYPE_AUDIO
@ MEDIA_STREAM_TYPE_AUDIO
Definition: packet_i.h:31
agora::rtc::video_packet_t::VIDEO_EXTRA_FLAG_TIMESTAMP_SET
@ VIDEO_EXTRA_FLAG_TIMESTAMP_SET
Definition: packet_i.h:185
agora::rtc::rtc_packet_t::recv_ts
uint64_t recv_ts
Definition: packet_i.h:109
agora::rtc::SAudioFrame::internalFlags_
uint8_t internalFlags_
Definition: packet_i.h:53
agora::rtc::SAudioFrame::bitrate_profile_kbps
uint32_t bitrate_profile_kbps
Definition: packet_i.h:60
agora::rtc::rtc_packet_t::RTC_FLAG_FROM_BROADCAST
@ RTC_FLAG_FROM_BROADCAST
Definition: packet_i.h:100
agora::rtc::video_packet_t::EXTENSION_VERSION_1
@ EXTENSION_VERSION_1
Definition: packet_i.h:190
agora::rtc::audio_packet_t::audio_packet_t
audio_packet_t()
Definition: packet_i.h:144
agora::rtc::video_packet_t::packets
uint16_t packets
Definition: packet_i.h:203
agora::rtc::peer_message_t::user_id
std::string user_id
Definition: packet_i.h:273
agora::rtc::SAudioPacket::AUDIO_PACKET_FROM_VOS
@ AUDIO_PACKET_FROM_VOS
Definition: packet_i.h:71
agora::rtc::AudioFrameHandleInfo
Definition: audio_node_stat_i.h:30
agora::rtc::video_packet_t::Extension::content_
std::vector< uint32_t > content_
Definition: packet_i.h:197
agora::rtc::video_packet_t::Extension::has_extension_
bool has_extension_
Definition: packet_i.h:195
agora::rtc::video_packet_t::curr_temporal_layer
uint8_t curr_temporal_layer
Definition: packet_i.h:215
agora::rtc::kVideoEngineFlagStdCodec
static const uint8_t kVideoEngineFlagStdCodec
Definition: packet_i.h:22
agora::rtc::video_packet_t::KEY_FRAME
@ KEY_FRAME
Definition: packet_i.h:170
agora::rtc::video_packet_t::EXTENSION_VERSION_2
@ EXTENSION_VERSION_2
Definition: packet_i.h:191
agora::rtc::SMediaFrame::uid_
uid_t uid_
Definition: packet_i.h:38
agora::rtc::kAgoraAudioExtendLength
static const uint8_t kAgoraAudioExtendLength
Definition: packet_i.h:28
agora::rtc::SAudioPacket::AUDIO_PACKET_TYPE
AUDIO_PACKET_TYPE
Definition: packet_i.h:69
agora::rtc::SAudioFrame::cc_type_
uint16_t cc_type_
Definition: packet_i.h:56
agora::rtc::video_packet_t::VIDEO_CODEC_EVP
@ VIDEO_CODEC_EVP
Definition: packet_i.h:179
agora::rtc::distribution_property_t::queueing_time_to_receiver
uint32_t queueing_time_to_receiver
Definition: packet_i.h:130
agora::rtc::distribution_property_t::max_sender_output_level
uint8_t max_sender_output_level
Definition: packet_i.h:131
agora::rtc::SAudioFrame::handle_info_
AudioFrameHandleInfo handle_info_
Definition: packet_i.h:59
agora::rtc::video_packet_t::VIDEO_CODEC_E264
@ VIDEO_CODEC_E264
Definition: packet_i.h:180
agora::rtc::control_broadcast_packet_t::payload
std::string payload
Definition: packet_i.h:262
agora::rtc::video_packet_t
Definition: packet_i.h:147
agora::rtc::video_packet_t::EXTENSION_VERSION_0
@ EXTENSION_VERSION_0
Definition: packet_i.h:189
agora::rtc::broadcast_packet_t::need_reliable
bool need_reliable
Definition: packet_i.h:121
agora::rtc::rtc_packet_t::internal_flags
uint8_t internal_flags
Definition: packet_i.h:111
agora::rtc::MEDIUM_BITRATE_VIDEO_STREAM
@ MEDIUM_BITRATE_VIDEO_STREAM
Definition: packet_i.h:280
agora::rtc::video_packet_t::protocolVersion
uint8_t protocolVersion
Definition: packet_i.h:208
agora::rtc::SMediaFrame
Definition: packet_i.h:37
agora::rtc::distribution_property_t::actual_sender_output_level
uint8_t actual_sender_output_level
Definition: packet_i.h:133
agora::rtc::video_packet_t::VIDEO_STREAM_TYPE
VIDEO_STREAM_TYPE
Definition: packet_i.h:148
agora::rtc::audio_packet_t::flags
uint8_t flags
Definition: packet_i.h:142
agora::rtc::rtc_packet_t::~rtc_packet_t
virtual ~rtc_packet_t()
Definition: packet_i.h:115
agora::rtc::SAudioFrame
Definition: packet_i.h:49
agora::rtc::video_packet_t::VIDEO_STREAM_MIN
@ VIDEO_STREAM_MIN
Definition: packet_i.h:154
agora::rtc::broadcast_packet_t::quit
bool quit
Definition: packet_i.h:119
agora::rtc::audio_packet_t::codec
uint8_t codec
Definition: packet_i.h:139
agora::rtc::video_packet_t::VIDEO_STREAM_UNKNOWN
@ VIDEO_STREAM_UNKNOWN
Definition: packet_i.h:149
agora::rtc::MEDIA_STREAM_TYPE_VIDEO
@ MEDIA_STREAM_TYPE_VIDEO
Definition: packet_i.h:34
agora::rtc::video_packet_t::VIDEO_CODEC_H264
@ VIDEO_CODEC_H264
Definition: packet_i.h:178
agora::rtc::video_packet_t::video3_flags::video_type
uint8_t video_type
Definition: packet_i.h:239
agora::rtc::broadcast_packet_t
Definition: packet_i.h:118
agora::rtc::rtc_packet_t::payload_length
uint16_t payload_length
Definition: packet_i.h:107
agora::rtc::rtc_packet_t::VIDEO_FLAG_TIMESTAMP_SET
@ VIDEO_FLAG_TIMESTAMP_SET
Definition: packet_i.h:101
agora::rtc::SAudioPacket::codec_
uint8_t codec_
Definition: packet_i.h:75
agora::rtc::SAudioPacket::handle_timing_
AudioFrameHandleInfo handle_timing_
Definition: packet_i.h:83
agora::rtc::audio_packet_t
Definition: packet_i.h:136
agora::rtc::video_packet_t::hasReserveBit
bool hasReserveBit(uint16_t bit)
Definition: packet_i.h:256
agora::rtc::kVideoEngineFlagHasIntraRequest
static const uint8_t kVideoEngineFlagHasIntraRequest
Definition: packet_i.h:21
agora::rtc::video_packet_t::fromVideType
void fromVideType(uint8_t f)
Definition: packet_i.h:242
agora::rtc::control_broadcast_packet_t
Definition: packet_i.h:259
agora::rtc::SAudioPacket::latestFrameSeq_
uint16_t latestFrameSeq_
Definition: packet_i.h:80
agora::rtc::rtc_packet_t::link_id
int link_id
Definition: packet_i.h:110
agora::rtc::video_packet_t::VIDEO_FLAG_TYPE
VIDEO_FLAG_TYPE
Definition: packet_i.h:158
agora::rtc::distribution_property_t::actual_sender_bandwidth
uint32_t actual_sender_bandwidth
Definition: packet_i.h:132
agora::rtc::video_packet_t::VIDEO_FLAG_HARDWARE_ENCODE
@ VIDEO_FLAG_HARDWARE_ENCODE
Definition: packet_i.h:166
agora::rtc::SMediaFrame::ssrc_
uint16_t ssrc_
Definition: packet_i.h:41
agora::rtc::video_packet_t::VIDEO_FLAG_KEY_FRAME
@ VIDEO_FLAG_KEY_FRAME
Definition: packet_i.h:160
agora::rtc::broadcast_packet_t::broadcast_packet_t
broadcast_packet_t()
Definition: packet_i.h:124
agora::rtc::MEDIA_STREAM_TYPE_VIDEO_LOW
@ MEDIA_STREAM_TYPE_VIDEO_LOW
Definition: packet_i.h:32
agora::rtc::SAudioPacket::SAudioPacket
SAudioPacket()
Definition: packet_i.h:84
agora::rtc::SMediaFrame::sentTs_
uint64_t sentTs_
Definition: packet_i.h:43
agora::rtc::audio_packet_t::reqMs
uint32_t reqMs
Definition: packet_i.h:141
agora::rtc::video_packet_t::VIDEO_FLAG_FEC
@ VIDEO_FLAG_FEC
Definition: packet_i.h:161
agora::rtc::SAudioPacket::frames_
std::list< SharedSAudioFrame > frames_
Definition: packet_i.h:82
agora::rtc::rtc_packet_t::uid
uid_t uid
Definition: packet_i.h:105
agora::rtc::SAudioFrame::vad_
int8_t vad_
Definition: packet_i.h:52
agora::rtc::rtc_packet_t::seq
uint32_t seq
Definition: packet_i.h:106
agora::rtc::MEDIA_STREAM_TYPE
MEDIA_STREAM_TYPE
Definition: packet_i.h:30
agora::rtc::video_packet_t::frameType
uint8_t frameType
Definition: packet_i.h:201
agora::rtc::audio_packet_t::last_error
int last_error
Definition: packet_i.h:140
agora::rtc::video_packet_t::extension
Extension extension
Definition: packet_i.h:211
agora::rtc::SAudioPacket::seq_
uint16_t seq_
Definition: packet_i.h:77
agora::rtc::video_custom_ctrl_broadcast_packet_t
Definition: packet_i.h:265
agora::rtc::video_packet_t::VIDEO_CODEC_TYPE
VIDEO_CODEC_TYPE
Definition: packet_i.h:176
agora::rtc::rtc_packet_t
Definition: packet_i.h:95
agora::rtc::SAudioPacket
Definition: packet_i.h:68
agora::rtc::video_packet_t::transport_seq
int64_t transport_seq
Definition: packet_i.h:212
agora::rtc::kVideoEngineFlagNasa
static const uint8_t kVideoEngineFlagNasa
Definition: packet_i.h:23
agora::rtc::SAudioPacket::filterable_
bool filterable_
Definition: packet_i.h:81
agora::rtc::video_packet_t::bitrate_profile_kbps
uint32_t bitrate_profile_kbps
Definition: packet_i.h:216
agora::rtc::video_packet_t::Extension::tag_
uint16_t tag_
Definition: packet_i.h:196
agora::rtc::video_packet_t::subseq
uint16_t subseq
Definition: packet_i.h:204
agora::rtc::kVideoEngineFlagScalableDelta
static const uint8_t kVideoEngineFlagScalableDelta
Definition: packet_i.h:24
agora::rtc::peer_message_t
Definition: packet_i.h:270
agora::rtc::video_packet_t::video3_flags
Definition: packet_i.h:234
agora::rtc::video_packet_t::VIDEO_FLAG_B_FRAME
@ VIDEO_FLAG_B_FRAME
Definition: packet_i.h:164
agora::rtc::SAudioFrame::energy_
uint8_t energy_
Definition: packet_i.h:58
agora::rtc::video_packet_t::VIDEO_CODEC_VP8
@ VIDEO_CODEC_VP8
Definition: packet_i.h:177
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:29
agora::rtc::distribution_property_t::estimated_bandwith_of_receiver
uint32_t estimated_bandwith_of_receiver
Definition: packet_i.h:129
agora::rtc::video_packet_t::codec
uint8_t codec
Definition: packet_i.h:206
agora::rtc::peer_message_t::uid
rtc::uid_t uid
Definition: packet_i.h:271
agora::rtc::MASTER_VIDEO_STREAM
@ MASTER_VIDEO_STREAM
Definition: packet_i.h:278
agora::rtc::control_broadcast_packet_t::uid
rtc::uid_t uid
Definition: packet_i.h:260
agora::rtc::audio_packet_t::audio_pts
int64_t audio_pts
Definition: packet_i.h:143
agora::rtc::rtc_packet_t::RTC_FLAG_REXFERRED
@ RTC_FLAG_REXFERRED
Definition: packet_i.h:97
agora::rtc::video_packet_t::VIDEO_STREAM_LIVE
@ VIDEO_STREAM_LIVE
Definition: packet_i.h:153
agora::rtc::video_packet_t::DELTA_FRAME
@ DELTA_FRAME
Definition: packet_i.h:171
agora::rtc::rtc_packet_t::VIDEO_FLAG_CACHED
@ VIDEO_FLAG_CACHED
Definition: packet_i.h:102
agora::rtc::video_packet_t::flags
uint8_t flags
Definition: packet_i.h:207
agora::rtc::video_packet_t::VIDEO_FRAME_TYPE
VIDEO_FRAME_TYPE
Definition: packet_i.h:169
agora::rtc::SMediaFrame::seq_
uint16_t seq_
Definition: packet_i.h:40
agora::rtc::video_packet_t::VIDEO_FLAG_STD_CODEC
@ VIDEO_FLAG_STD_CODEC
Definition: packet_i.h:163
agora::rtc::video_packet_t::VIDEO_EXTRA_FLAG_TYPE
VIDEO_EXTRA_FLAG_TYPE
Definition: packet_i.h:183
agora::rtc::video_packet_t::reserve1
uint32_t reserve1
Definition: packet_i.h:210
rtc
Definition: video_node_i.h:26
agora::rtc::SharedSAudioFrame
std::shared_ptr< SAudioFrame > SharedSAudioFrame
Definition: packet_i.h:66
agora::rtc::rtc_packet_t::VIDEO_FLAG_VIDEO3
@ VIDEO_FLAG_VIDEO3
Definition: packet_i.h:103
agora::rtc::rtc_packet_t::INTERNAL_FLAG_TYPE
INTERNAL_FLAG_TYPE
Definition: packet_i.h:96