LeviLamina
Loading...
Searching...
No Matches
PrioritizedPacketQueue.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/InlinedVector.h"
7#include "mc/external/webrtc/RtpPacketMediaType.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class DataSize; }
12namespace webrtc { class RtpPacketToSend; }
13namespace webrtc { class TimeDelta; }
14namespace webrtc { class Timestamp; }
15namespace webrtc { struct PacketQueueTTL; }
16// clang-format on
17
18namespace webrtc {
19
21public:
22 // PrioritizedPacketQueue inner types declare
23 // clang-format off
24 class QueuedPacket;
25 class StreamQueue;
26 // clang-format on
27
28 // PrioritizedPacketQueue inner types define
30 public:
31 // member variables
32 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 QueuedPacket& operator=(QueuedPacket const&);
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCNAPI ::webrtc::DataSize PacketSize() const;
48
49 MCNAPI ~QueuedPacket();
50 // NOLINTEND
51
52 public:
53 // destructor thunk
54 // NOLINTBEGIN
55 MCNAPI void $dtor();
56 // NOLINTEND
57 };
58
60 public:
61 // member variables
62 // NOLINTBEGIN
66 // NOLINTEND
67
68 public:
69 // prevent constructor by default
70 StreamQueue& operator=(StreamQueue const&);
73
74 public:
75 // member functions
76 // NOLINTBEGIN
77 MCNAPI ::std::array<::std::deque<::webrtc::PrioritizedPacketQueue::QueuedPacket>, 5> DequeueAll();
78
79 MCNAPI ::webrtc::PrioritizedPacketQueue::QueuedPacket DequeuePacket(int priority_level);
80
81 MCNAPI bool EnqueuePacket(::webrtc::PrioritizedPacketQueue::QueuedPacket packet, int priority_level);
82
83 MCNAPI bool HasPacketsAtPrio(int priority_level) const;
84
85 MCNAPI bool IsEmpty() const;
86
87 MCNAPI ::webrtc::Timestamp LastEnqueueTime() const;
88
89 MCNAPI ::webrtc::Timestamp LeadingPacketEnqueueTime(int priority_level) const;
90
91 MCNAPI explicit StreamQueue(::webrtc::Timestamp creation_time);
92 // NOLINTEND
93
94 public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCNAPI void* $ctor(::webrtc::Timestamp creation_time);
98 // NOLINTEND
99 };
100
101public:
102 // member variables
103 // NOLINTBEGIN
118 // NOLINTEND
119
120public:
121 // prevent constructor by default
125
126public:
127 // member functions
128 // NOLINTBEGIN
129 MCNAPI ::webrtc::TimeDelta AverageQueueTime() const;
130
132
133 MCNAPI bool Empty() const;
134
135 MCNAPI bool HasKeyframePackets(uint ssrc) const;
136
137 MCNAPI ::webrtc::Timestamp LeadingPacketEnqueueTime(::webrtc::RtpPacketMediaType type) const;
138
139 MCNAPI ::webrtc::Timestamp LeadingPacketEnqueueTimeForRetransmission() const;
140
142
143 MCNAPI ::webrtc::Timestamp OldestEnqueueTime() const;
144
145 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> Pop();
146
148 ::webrtc::Timestamp creation_time,
149 bool prioritize_audio_retransmission,
150 ::webrtc::PacketQueueTTL packet_queue_ttl
151 );
152
153 MCNAPI void PurgeOldPacketsAtPriorityLevel(int prio_level, ::webrtc::Timestamp now);
154
155 MCNAPI void Push(::webrtc::Timestamp enqueue_time, ::std::unique_ptr<::webrtc::RtpPacketToSend> packet);
156
157 MCNAPI void RemovePacketsForSsrc(uint ssrc);
158
159 MCNAPI void SetPauseState(bool paused, ::webrtc::Timestamp now);
160
161 MCNAPI int SizeInPackets() const;
162
163 MCNAPI ::webrtc::DataSize SizeInPayloadBytes() const;
164
166
168 // NOLINTEND
169
170public:
171 // static functions
172 // NOLINTBEGIN
173 MCNAPI static ::absl::InlinedVector<::webrtc::TimeDelta, 5, ::std::allocator<::webrtc::TimeDelta>>
175 // NOLINTEND
176
177public:
178 // constructor thunks
179 // NOLINTBEGIN
180 MCNAPI void* $ctor(
181 ::webrtc::Timestamp creation_time,
182 bool prioritize_audio_retransmission,
183 ::webrtc::PacketQueueTTL packet_queue_ttl
184 );
185 // NOLINTEND
186
187public:
188 // destructor thunk
189 // NOLINTBEGIN
190 MCNAPI void $dtor();
191 // NOLINTEND
192};
193
194} // namespace webrtc
Definition PrioritizedPacketQueue.h:29
MCAPI::webrtc::DataSize PacketSize() const
Definition PrioritizedPacketQueue.h:59
MCAPI ::std::array<::std::deque<::webrtc::PrioritizedPacketQueue::QueuedPacket >, 5 > DequeueAll()
MCAPI void * $ctor(::webrtc::Timestamp creation_time)
MCAPI bool EnqueuePacket(::webrtc::PrioritizedPacketQueue::QueuedPacket packet, int priority_level)
MCAPI StreamQueue(::webrtc::Timestamp creation_time)
MCAPI::webrtc::Timestamp LeadingPacketEnqueueTime(int priority_level) const
MCAPI::webrtc::PrioritizedPacketQueue::QueuedPacket DequeuePacket(int priority_level)
MCAPI::webrtc::Timestamp LastEnqueueTime() const
MCAPI bool HasPacketsAtPrio(int priority_level) const
Definition PrioritizedPacketQueue.h:20
MCAPI::webrtc::DataSize SizeInPayloadBytes() const
MCAPI void RemovePacketsForSsrc(uint ssrc)
MCAPI int SizeInPackets() const
MCAPI::webrtc::Timestamp OldestEnqueueTime() const
MCAPI::webrtc::Timestamp LeadingPacketEnqueueTimeForRetransmission() const
MCAPI bool HasKeyframePackets(uint ssrc) const
MCAPI void PurgeOldPacketsAtPriorityLevel(int prio_level, ::webrtc::Timestamp now)
MCAPI void DequeuePacketInternal(::webrtc::PrioritizedPacketQueue::QueuedPacket &packet)
MCAPI void Push(::webrtc::Timestamp enqueue_time, ::std::unique_ptr<::webrtc::RtpPacketToSend > packet)
MCAPI PrioritizedPacketQueue(::webrtc::Timestamp creation_time, bool prioritize_audio_retransmission, ::webrtc::PacketQueueTTL packet_queue_ttl)
static MCAPI ::absl::InlinedVector<::webrtc::TimeDelta, 5, ::std::allocator<::webrtc::TimeDelta > > ToTtlPerPrio(::webrtc::PacketQueueTTL packet_queue_ttl)
MCAPI void SetPauseState(bool paused, ::webrtc::Timestamp now)
MCAPI void UpdateAverageQueueTime(::webrtc::Timestamp now)
MCAPI void * $ctor(::webrtc::Timestamp creation_time, bool prioritize_audio_retransmission, ::webrtc::PacketQueueTTL packet_queue_ttl)
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > Pop()
MCAPI::webrtc::TimeDelta AverageQueueTime() const
MCAPI::webrtc::Timestamp LeadingPacketEnqueueTime(::webrtc::RtpPacketMediaType type) const
Definition Timestamp.h:10
Definition Alias.h:14
Definition PacketQueueTTL.h:7