libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
rxpayloadbundle.h
Go to the documentation of this file.
1
8#pragma once
9
10
11#include <promeki/config.h>
12#if PROMEKI_ENABLE_NETWORK
13#include <cstdint>
14#include <promeki/ancdesc.h>
15#include <promeki/ancpacket.h>
16#include <promeki/audiodesc.h>
17#include <promeki/buffer.h>
18#include <promeki/framenumber.h>
19#include <promeki/imagedesc.h>
20#include <promeki/metadata.h>
21#include <promeki/namespace.h>
22#include <promeki/ntptime.h>
23#include <promeki/timestamp.h>
25
26PROMEKI_NAMESPACE_BEGIN
27
62struct RxVideoFrame {
68 VideoPayload::Ptr payload;
69
75 ImageDesc imageDesc;
76
80 uint32_t rtpTimestamp = 0;
81
87 int32_t packetCount = 0;
88
95 NtpTime wallclockNtp;
96
102 TimeStamp captureTime;
103
109 bool keyframe = false;
110
118 TimeStamp firstPacketArrival;
119
124 FrameNumber streamFrameIndex;
125};
126
148struct RxAudioChunk {
154 Buffer pcmBytes;
155
165 AudioDesc wireDesc;
166
169 uint32_t rtpTimestamp = 0;
170
174 size_t sampleCount = 0;
175
179 NtpTime wallclockNtp;
180
184 TimeStamp captureTime;
185
189 TimeStamp firstPacketArrival;
190};
191
207struct RxDataMessage {
210 Metadata metadata;
211
213 uint32_t rtpTimestamp = 0;
214
217 int32_t packetCount = 0;
218
222 NtpTime wallclockNtp;
223
227 TimeStamp captureTime;
228
233 TimeStamp firstPacketArrival;
234};
235
265struct RxAncFrame {
272 AncDesc desc;
273
276 AncPacket::List packets;
277
280 uint32_t rtpTimestamp = 0;
281
284 int32_t packetCount = 0;
285
289 NtpTime wallclockNtp;
290
294 TimeStamp captureTime;
295
300 TimeStamp firstPacketArrival;
301
310 bool keepAlive = false;
311};
312
313PROMEKI_NAMESPACE_END
314
315#endif // PROMEKI_ENABLE_NETWORK